黑马程序员技术交流社区
标题:
关于BigDecimal的add()方法保留小树的问题
[打印本页]
作者:
青出于蓝
时间:
2013-12-23 23:25
标题:
关于BigDecimal的add()方法保留小树的问题
今天看到了处理大数据的bigDecimal类,试了一下,结果出现了小问题:
BigDecimal s1=new BigDecimal(1.9);
BigDecimal s2=new BigDecimal(0.3);
System.out.println("s="+ s1.add(s2));
输出结果为s=2.199999999999999900079927783735911361873149871826171875
查看API找到如下方法:
System.out.println("s="+ s1.add(s2,new MathContext(2)));
但是MathContext(2)只是确定保留的为2位有效数字,如果
BigDecimal s1=new BigDecimal(221.9);
BigDecimal s2=new BigDecimal(0.3);
System.out.println("s="+ s1.add(s2,new MathContext(2)));
输出结果为s=2.2E+2。很郁闷,求大神解决保留小数问题
作者:
为我想要的去努
时间:
2013-12-23 23:42
lz可以这样干:
四舍五入保留两位小数
System.out.println("四舍五入取整:s="
+ s.setScale(2, BigDecimal.ROUND_HALF_UP));
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2