我想将里程转换为公里。在这种情况下使用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();
}
答案 0 :(得分:2)
只使用双倍的错误?
int km = (int) Math.round(miles * 1.609344D);
如果你正在四舍五入到整数,为什么要担心微小的准确错误呢?