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); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。