四舍五入

BigDecimal

坚强是说给别人听的谎言 提交于 2019-12-05 14:25:38
public class BigDecimalUtils { /** * 默认除法运算精度 */ private static final int DEFAULT_DIV_SCALE = 8; /** * 采用 BigDecimal 的字符串构造器进行初始化。 * * @param v double 值 * @return BigDecimal 对象 */ private static BigDecimal createBigDecimal(double v) { return new BigDecimal(Double.toString(v)); } /** * 提供精确的加法运算。 * * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static BigDecimal add(BigDecimal v1, BigDecimal v2) { return v1.add(v2); } /** * 提供精确的加法运算。 * * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static BigDecimal add(double v1, double v2) { BigDecimal b1 = createBigDecimal(v1);

java中float和double的区别?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 06:54:51
float:单精度类型,精度是8位有效数字(其余部分四舍五入),取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间。 double:双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间。 若不声明的,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f 例如:float a=1.63;//会显示错误,正确的写法为float a=1.63f; 则会提示不能将double转化成float 这成为窄型转化 注意float是8位有效数字,第7位数字将会产生四舍五入 所以如果一个float变量 这样定义: float a=1.32344435; 则第7位将产生四舍五入(5及5以下的都将舍去) 一般开发中建议用double 修饰小数 来源: CSDN 作者: 卜居易 链接: https://blog.csdn.net/u013517229/article/details/89241055

C语言I博客作业09

时间秒杀一切 提交于 2019-12-05 04:41:44
问题 回答 这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 作业要求 我在这个课程的目标是 能够自主开发出一个软件,拥有用户并能够维护程序运行 这个作业在那个具体方面帮助我实现目标 加深理解break语句与continue语句的区别,及循环结构的嵌套的执行顺序 参考文献 CSDN技术社区 PTA实验作业 1.1换硬币 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额 x ∈(8,100)。 输出格式: 要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。 输入样例: 13 输出样例: fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 4 1.1.1数据处理 数据表达: 使用了f1,f2,f5,count,money五个变量,都定义为整型 数据处理: f1,f2,f5用于接收各类硬币个数

C# 之 Math取整

最后都变了- 提交于 2019-12-05 03:52:30
C# 之 Math取整 https://www.cnblogs.com/xinaixia/p/4834271.html 主要用到 System 命名空间下的一个数据类 Math ,调用他的方法。 C#取整函数使用详解: 1、Math.Round是"就近舍入",当要舍入的是5时与"四舍五入"不同(取偶数),如: Math.Round(0.5,0)=0 Math.Round(1.5,0)=2 Math.Round(2.5,0)=2 Math.Round(3.5,0)=4 2、Math.Truncate 计算双精度浮点数的整数部分,即直接取整数,如:Math.Truncate(-123.55)=-123, Math.Truncate(123.55)=123 3、Math.Ceiling 取天板值,即向上取整,与"四舍五入"无关。Math.Ceiling(1) = 1Math.Ceiling(1.1) = 2Math.Ceiling(1.5) = 2Math.Ceiling(3.1) = 4 4、Math.Floor 取地板值,即向下取整,与"四舍五入"无关。Math.Floor(1) = 1Math.Floor(1.1) = 1Math.Floor(1.5) = 1 Math.Floor(3.9) = 3 取天板值与地板值,与"四舍五入"无关。其实Floor的结果与(int)相同

java非四舍五入

南楼画角 提交于 2019-12-05 02:54:44
Double htert=34.9768; DecimalFormat df = new DecimalFormat("#.00");// 保留五位小数非四舍五入型 df.setRoundingMode(RoundingMode.DOWN); //这个设置很重要,没有这个设置就会四舍五入 String strhtert = df.format(htert); System.out.println(strhtert); 来源: https://www.cnblogs.com/Anders888/p/11899837.html

php 数据类型

孤者浪人 提交于 2019-12-04 20:06:24
数值 sprintf() 保留两位小数,四舍五入,自动补0 echo sprintf("%01.2f", 5.228); // 5.23 echo sprintf("%01.2f", 5.224); // 5.22 echo sprintf("%01.2f", 5); // 5.00 number_format() 四舍五入,自动补0 echo number_format(5.228,2); // 5.23 echo number_format(5.224,2); // 5.22 echo number_format(5,2); // 5.00 round() 四舍五入 echo round(5.228,2); // 5.23 echo round(5.224,2); // 5.22 echo round(5,2); // 5 ceil() 进一法取整 echo ceil(4.4); // 5 echo ceil(4.6); // 5 floor() 舍去法取整 echo floor(4.4); // 4 echo floor(4.6); // 4 字符串 来源: https://www.cnblogs.com/huay/p/11881039.html

delphi的取整函数round、trunc、ceil和floor

半腔热情 提交于 2019-12-04 10:41:20
1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入。(按照银行家算法) 例: var i, j: Integer; begin i := Round(1.5); // i等于2 j := Round(2.5); // j等于2 end; 在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理 ,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。 例: i:= Round(11.5)//i等于12 i:= Round(10.5)//i等于10 这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。 如果要使用传统的"四舍五入"方法,可以使用下面函数: function RoundClassic(R: Real) 2.trunc(取得X的整数部分) 如:trunc(-123.55)=-123, floor(123.55)=123 3.ceil(取得大于等于X的最小的整数) 如:ceil(-123.55)=-123, ceil(123.15)=124 4.floor(取得小于等于X的最大的整数) 如:floor(-123.55)=-124,floor(123.55)=123 注:floor和ceil是math

C# Mathf.Round() 四舍五入

匿名 (未验证) 提交于 2019-12-03 00:37:01
程序 != 数学 到今天才对这个不等式产生了深刻的认识,坑坏了 直入正题: Mathf.Round(10.4); // 10 Mathf.Round(10.5); // 10 Mathf.Round(11.5); // 12 Mathf.Round(11.7); // 12 看了之后万分懵逼,第二行咋就是10了呢,事实就是这样。这就是编程的精髓之处 坑。 四舍五入时,如果小数位是5,那么编译器会自动识别这个小数的前后两个整数。在这里数是10.5那么他的前后两数就是10和11,而10是偶数,因此它的打印值就是10. 对的,没错。这里编译器会识别他的前后数,而他的最终答案就是那个偶数。(注意,这只在小数是5的时候,其他情况下就是正常的小学数学的四舍五入了哈)。 文章来源: C# Mathf.Round() 四舍五入

floor和ceil函数

匿名 (未验证) 提交于 2019-12-03 00:30:01
头文件为cmath floor函数 是向下取整函数,用来得到不大于一个数的最大整数;如果需要对一个数进行四舍五入取整,floor(x+0.5)可实现 ceil函数 是向上取整函数,用来得到不小于一个数的最小整数 文章来源: floor和ceil函数

【Codeforces 718 A】Efim and Strange Grade

匿名 (未验证) 提交于 2019-12-02 23:32:01
Codeforces 718 A 题意:给一个小数,问最多取 \(t\) 次四舍五入到某一个小数点后的位后这个数最大能到多少。 思路:首先肯定贪心。(但不知道为什么tag上是 \(dp\) 首先我们找到最靠左的一个大于等于5的数,把它四舍五入到上一位, 然后再不断地往前找到下一个大于等于5的数,再四舍五入到上一位。。。 然后就好了。 转载请标明出处: 【Codeforces 718 A】Efim and Strange Grade 文章来源: 【Codeforces 718 A】Efim and Strange Grade