BigDecimal精度丢失--如何处理呢?
下文笔者讲述BigDecimal精度丢失的解决方法分享,如下所示
BigDecimal简介
BigDecimal在java.math包中
用于对超过16位有效位的数进行精确的运算
双精度浮点型变量double可以处理16位有效数
==================================================================
由于日常我们使用Float和Double进行数据处理时
如:
Double.valueOf(String) 和Float.valueOf(String)会丢失精度
所以在日常开发中,我们时长使用BigDecimal类进行数据处理
BigDecimal
import java.math.BigDecimal;
public class DecimalTest {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal(0.1);
System.out.println("bd1的值:"+bd1);
}
}
//但是此时会出现精度丢失的现象
解决BigDecimal精度丢失的方法
import java.math.BigDecimal;
public class TestClass {
public static void main(String[] args) {
// 错误使用方式
BigDecimal bd1 = new BigDecimal(0.1);
System.out.println("bd1的值:"+bd1);
// 正确使用方式
BigDecimal bd2 = new BigDecimal("0.1");
System.out.println("bd2的值:"+bd2);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


