首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有toString()的情况下将任何类型的数字转换为BigDecimal?

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

Stack Overflow用户
提问于 2017-03-17 00:08:29
回答 1查看 696关注 0票数 0

我现在使用这个方法,在任何类型的Number上执行加法

代码语言:javascript
复制
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是我用来存储数值的类。

EN

回答 1

Stack Overflow用户

发布于 2017-03-17 00:10:05

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

在最一般的情况下,从String构造是最安全的方式。对于与区域设置相关的小数分隔符,请始终保持必要的谨慎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42839284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档