java多种保存2位小数的对比
来源:互联网 发布:健康风险评估软件 编辑:程序博客网 时间:2024/05/01 10:35
今天导数据的时候,发现了一些保留2位小数的数据不准确,然后去搜索并总结了一些,列在这个位置,算是一个小心得。
代码:
DecimalFormat df = new DecimalFormat("######0.00");
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
ddf1.setMaximumFractionDigits(2);
System.out.println(df.format(1.255D));
System.out.println(new BigDecimal(1.255).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
System.out.println(Math.round(1.255*100)/100.0);
System.out.println(ddf1.format(1.255));
System.out.println(String.format("%.2f", 1.255));
System.out.println(df.format(10.005D));
System.out.println(new BigDecimal(10.005).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
System.out.println(Math.round(10.005*100)/100.0);
System.out.println(ddf1.format(10.005));
System.out.println(String.format("%.2f", 10.005));
输出结果:
1.26
1.25
1.25
1.26
1.26
10.00
10.01
10.01
10
10.01
看的出来,这五种方式就String.format输出了这2种值类型下四舍五入的正确值,虽然计算金额的时候,大多推荐BigDecimal值类型来保存金额,获取更精确的值,但是在这个比较下,竟然输给了String.format,感到有些不可思议。
- java多种保存2位小数的对比
- java保存两位小数
- 保留2位小数多种方法
- java保留2位小数的方法
- javascript实现保留两位小数的多种方法
- C#怎么保存几百位或者几千位的小数 ?
- java中将double类型的数据保存为两位小数
- Java 保留2位小数
- java保留2位小数
- java保留2位小数
- java 保留2位小数
- java 保留2位小数
- java 保留2位小数
- java保留2位小数
- java保留2位小数
- js保存两位小数
- java 小数保留2位的几种方法
- java中保留2位小数的四种方法
- MySql创建函数
- sendmail分组群发邮件
- cocos2d-x-3.0学习笔记之如何创建开关菜单
- 深入理解session
- Android studio NDK-JNI 编译so文件
- java多种保存2位小数的对比
- Android item上的button,在activity中点击。
- python 矩阵转置transpose
- 设计模式学习笔记-状态模式
- #112 Remove Duplicates from Sorted List
- Android适配——drawable和values的加载规则
- 把Java数组转换为List时的注意事项
- android radioButton 选中后改变字体颜色样式
- 移动端开发者眼中的前端开发流程变迁与前后端分离