将十进制数转换为完整整数 - 是BigDecimal矫枉过正吗?

时间:2013-11-21 16:13:02

标签: java bigdecimal

我想将里程转换为公里。在这种情况下使用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();
}

1 个答案:

答案 0 :(得分:2)

只使用双倍的错误?

int km = (int) Math.round(miles * 1.609344D);

如果你正在四舍五入到整数,为什么要担心微小的准确错误呢?