Double dd=0.125;
try {
DecimalFormat df=new DecimalFormat("#.##");
System.out.println(df.format(dd));
} catch (RuntimeException e) {
e.printStackTrace();
}
MathContext v = new MathContext(2,RoundingMode.HALF_DOWN);
BigDecimal a = new BigDecimal("0.875",v);
System.out.println(a);
float a1 = 123.2354f;
float b = (float)(Math.round(a1*100))/100;
System.out.println(b);
float ft = 134.3445f;
int scale = 2;//设置位数
int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.
BigDecimal bd = new BigDecimal((double)ft);
bd = bd.setScale(scale,roundingMode);
ft = bd.floatValue();
System.out.println(ft);
结果为:
0.12
0.87
123.24
134.34
结论:
只有第3,4 种方法实现了真正的四舍五入, 1,2种方法到是“五舍六入”
至于为什么会这样?java是有解释的,可以查查看,匆忙写下这边就不在解释了。
分享到:
相关推荐
java 四舍五入java 四舍五入java 四舍五入java 四舍五入java 四舍五入java 四舍五入java 四舍五入java 四舍五入java 四舍五入
java四舍五入方法 非常好我做五子棋解决了一个毛病
java代码编写 具有四舍五入 可以精确到指定的位数。
关于java四舍五入的代码。需要的朋友可以看看。
浮点数任意保留数位小数但不需四舍五入小程序
提供两个思路,一个是float转int这种。另外就是就是string转int的除法计算。 这只是两个简单的小例子。可以借鉴看看。
计算2000年1月1日到现在有多少月,多少周(四舍五入)。
加、减、乘、除、平方、四舍六入五成双
下面小编就为大家带来一篇java 四舍五入保留小数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java四舍五入时保留指定小数位数的五种方式,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
本篇文章主要介绍了java的四舍五入与保留位示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
NULL 博文链接:https://hcc20010713.iteye.com/blog/811810
主要为大家详细介绍了java中DecimalFormat四舍五入的用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元
主要介绍了java四舍五入使java保留2位小数示例,大家参考使用
如何取小数点前两位,并四舍五入。 4.日期和时间 如何取得年月日,小时分秒 如何取得从1970年到现在的毫秒数 如何获取某个日期是当月的最后一天 如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何列...
1.采用两种方式实现数据修约【①IEEE754的银行家算法、②传统的四舍五入】。 2.实现Decimal、double、string三种数据类型的数据修约。 3.实现了指定小数位、指定整数位的数据修约。
直接看代码吧 参数一:要保留小数位的数字 参数二:要保留的位数 代码如下:function FormatNumber(srcStr,nAfterDot){ var srcStr,nAfterDot; var resultStr,nTen; srcStr = “”+srcStr+””;...
java 随机数Math.random()头、尾数字在四舍五入之后得到的几率其实比中间的数少一半,并不能保证头尾的数字概率与其他数字相同 max.subtract(min).multiply(BigDecimal.valueOf(Math.random())).add(min).setScale(0...
由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。