我想将英里转换为公里。在这种情况下使用 BigDecimal
是否太过分了?
我可以在不使用 BigDecimals 的情况下改进以下内容吗?我想四舍五入到最接近的整数。我对小数不感兴趣。
private static final BigDecimal MILE = new BigDecimal(1.609344);
String milesToKm(String miles) {
return new BigDecimal(miles).multiply(MILE).setScale(0, RoundingMode.HALF_UP).toString();
}
最佳答案
只使用 double 有什么问题吗?
int km = (int) Math.round(miles * 1.609344D);
如果您四舍五入为整数,为什么还要担心微小的精度误差呢?
关于java - 将十进制数转换为完整整数 - BigDecimal 是否矫枉过正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20126152/