java浮点数失真,使用BigDecimal完美解决
今天介绍BigDecimal类,它的主要功能是确保数据的高准确性,高精度。
看下面这个例子:
我使用两个double型的数值进行相乘,得到的结果并不精确。
怎么解决呢,这是我给别人发的工资啊,可不能这么含糊啊。
这时候就要用到BigDecimal类。
首先创建一个BigDecimal对象,调用其valueOf方法,可以传入double、long类型的数值。
第二步,调用它的multiply方法进行相乘,得到的结果非常准确,并不会失真。
另外,还有加减除运算(除法运算是可以选择保留位数和舍入规则的),以及BigDecimal转double类型