1.不推荐使用BigDecimal(double val)构造器,因为使用该构造器时有一定的不可预知性,当程序使用new BigDecimal(0.1)创建一个BigDecimal对象时,它的值并不是0.1,实际上是一个近似0.1的数。
2.建议优先使用基于String的构造器,使用BigDecimal(String val)构造器时可以预知的,写入new BigDecimal(“0.1”)将创建一个恰好等于0.1的BigDecimal。
3.如果必须使用double浮点数作为BigDecimal构造器的参数时,不要使用double作为参数,而应该通过BigDecimal.valueOf(double value)静态方法来创建对象。
https://blog.youkuaiyun.com/u011781521/article/details/80052195里有详细讲解。


博客介绍了BigDecimal构造器的使用建议,不推荐使用BigDecimal(double val)构造器,因其有不可预知性;建议优先用基于String的构造器,其值可预知;若必须用double作参数,应通过BigDecimal.valueOf(double value)静态方法创建对象。
1万+

被折叠的 条评论
为什么被折叠?



