Java中double类型下出现精度计算错误情况下出力方法

时间:2021-09-07 09:50:58
【文件属性】:

文件名称:Java中double类型下出现精度计算错误情况下出力方法

文件大小:2KB

文件格式:TXT

更新时间:2021-09-07 09:50:58

b' o'

Java中的简单浮点数类型float和double不能够进行运算,因为大多数情况下是正常的,但是偶尔会出现如上所示的问题。这个问题其实不是JAVA的bug,因为计算机本身是二进制的,而浮点数实际上只是个近似值,所以从二进制转化为十进制浮点数时,精度容易丢失,导致精度下降。   要保证精度就要使用BigDecimal类,而且不能直接从double直接转BigDecimal,要将double转string再转BigDecimal。也就是不能使用BigDecimal(double val) 方法,你会发现没有效果。要使用BigDecimal(String val) 方法。具体例子如下所示。


网友评论