建议用java.math.BigDecimal做,用setScale() 返回包含指定小数位的数值,toString()把对象转为字符串。doubleValue()将此 BigDecimal 转换为 double。
否则你要考虑舍入方式,操作数为long等情况。- String d = "1.23456789";
- // double d = 1.23456789;
- BigDecimal b = new BigDecimal (d);
- b = b.setScale(2, java.math.RoundingMode.HALF_EVEN );
- System.out.println(b);
- System.out.println(b.doubleValue());
复制代码
|