BigDecimal精度丢失--如何处理呢?

戚薇 Java经验 发布时间:2023-07-07 15:43:04 阅读数:4204 1
下文笔者讲述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);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16887158167028.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者