有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    我不会冒险,尤其是如果你想从浮点类型构造一个BigDecimal

    在最普遍的情况下,从String构建是最安全的方式。使用依赖于区域设置的十进制分隔符时,请务必小心谨慎