我现在使用这个方法,在任何类型的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是我用来存储数值的类。
发布于 2017-03-17 00:10:05
我不会冒这个险,特别是如果你想从一个浮点类型构造一个BigDecimal。
在最一般的情况下,从String构造是最安全的方式。对于与区域设置相关的小数分隔符,请始终保持必要的谨慎。
https://stackoverflow.com/questions/42839284
复制相似问题