当前位置: 代码迷 >> J2SE >> 怎么取小数点前两位并四舍五入
  详细解决方案

怎么取小数点前两位并四舍五入

热度:2170   发布时间:2013-02-25 00:00:00.0
如何取小数点前两位并四舍五入?
这个问题的思路是这样的,但是我代码实现不了功能。

可用该数字构造一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);
……
  相关解决方案