日期:2014-05-20  浏览次数:20833 次

如何取小数点前两位并四舍五入?
这个问题的思路是这样的,但是我代码实现不了功能。

可用该数字构造一java.math.BigDecimal对象,
再利用其round()方法 进行四舍五入到保留小数点后两位,
再将其转换为字符串截取最后两位。

知道的人,能不能帮我实现一下,然后代码给我看一下,round()方法好像只有这种Math.round()进行四舍五入,没有看过有保留小数点的功能。

望指点~~~~

------解决方案--------------------
BigDecimal 本身就有可以控制精度的 round() 函数啊。
------解决方案--------------------
例如:
BigDecimal k = new BigDecimal(25.9887);
BigDecimal j = k.setScale(2, BigDecimal.ROUND_HALF_UP);
String a= j.toString();
a = a.substring(a.length()-2);
System.out.println(a);

这样可以得到输出"99".


------解决方案--------------------
简单点可以放大100再做判断
------解决方案--------------------
这个是正确的
探讨

例如:
BigDecimal k = new BigDecimal(25.9887);
BigDecimal j = k.setScale(2, BigDecimal.ROUND_HALF_UP);
String a= j.toString();
a = a.substring(a.length()-2);
……

------解决方案--------------------
探讨

例如:
BigDecimal k = new BigDecimal(25.9887);
BigDecimal j = k.setScale(2, BigDecimal.ROUND_HALF_UP);
String a= j.toString();
a = a.substring(a.length()-2);
……