java如何在不使用toString()的情况下将任何类型的数字转换为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 楼答案
我不会冒险,尤其是如果你想从浮点类型构造一个
BigDecimal
在最普遍的情况下,从
String
构建是最安全的方式。使用依赖于区域设置的十进制分隔符时,请务必小心谨慎