如何在没有toString()的情况下将任何类型的Number转换为BigDecimal?

时间:2017-03-16 16:08:29

标签: java bigdecimal

我现在正在使用此方法,在任何类型的Number上执行添加:

public <T extends Number> CustomNumber add(T a, T b) {
    BigDecimal numberA = new BigDecimal(b.toString());
    BigDecimal numberB = new BigDecimal(a.toString());
    return new CustomNumber<>(numberA.add(numberB));
}

我正在使用BigDecimal,因为据我所知这是最佳解决方案,执行精简计算。如何在不使用toString()方法的情况下更改此方法以获得相同的结果? CustomNumber是我用来存储数值的类。

1 个答案:

答案 0 :(得分:1)

我不会冒险,特别是如果你想从浮点类型构造BigDecimal

在最一般的情况下,String的构造是最安全的方式。始终使用依赖于区域设置的小数分隔符来获取必要的小心。