有没有一个Java库函数可以用来将一个数字截断到任意数量的小数位?例如。
SomeLibrary.truncate(1.575, 2) = 1.57
谢谢
发布于 2009-12-30 04:38:05
尝试BigDecimal的setScale,如下所示:
public static double round(double d, int decimalPlace) {
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(decimalPlace, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
发布于 2009-12-30 05:24:32
令人难以置信的是,现在还没有人提出这一点,Java API已经有很多年的DecimalFormat就是为了这个目的。
发布于 2009-12-30 04:37:55
对于大多数数字,除非使用有保证精度的十进制类,如BigDecimal,否则无法获得xxx.yyyy
的精确表示。
https://stackoverflow.com/questions/1976809
复制相似问题