之前做了一个需求是算成功率,求百分比的,考虑精度的问题选择了BigDecimal。
用的是BigDecimal的double参数的构造:
new BigDecimal(double val)
将一个double类型的数值通过此构造函数转换成String出现了精度问题,比如:
image.png
jdk api文档中这样写道:
image.png
说白了就是别直接拿double变量做参数,最好使用String类型做参数或者使用静态方法valueOf(double)
image.png