double精度丢失如何解决

 时间:2026-02-16 03:00:37

1、打开Eclipse,新建一个类,在里面输入如下代码:

double a = 1;

double b = 20.2;

double c = 300.02;

double result = a+b+c;

System.out.println(result);

将3个double类型数字进行相加。

double精度丢失如何解决

2、点击上方的【运行】按钮,开始运行程序。

double精度丢失如何解决

3、结果是【321.219999999999997】,与我们预期的结果:321.22不一样。

double精度丢失如何解决

4、这是因为double类型在进行运算时,会有精度的丢失,这时需要使用BigDecimal来处理,代码更新后如下:

double a = 1;

double b = 20.2;

double c = 300.02;

BigDecimal a1 = new BigDecimal(Double.toString(a));

BigDecimal b1 = new BigDecimal(Double.toString(b));

BigDecimal c1 = new BigDecimal(Double.toString(c));

double result = (a1.add(b1).add(c1)).doubleValue();

System.out.println(result);

double精度丢失如何解决

5、点击上方的【运行】按钮,再次运行程序。

double精度丢失如何解决

6、结果与我们预期的结果一样,是321.22,这样就成功的解决了double的精度丢失问题。

double精度丢失如何解决

1、1.打开Eclipse,新建一个类,在里面输入如下代码:

double a = 1;

double b = 20.2;

double c = 300.02;

double result = a+b+c;

System.out.println(result);

将3个double类型数字进行相加。

2.点击上方的【运行】按钮,开始运行程序。

3.结果是【321.219999999999997】,与我们预期的结果:321.22不一样。

4.这是因为double类型在进行运算时,会有精度的丢失,这时需要使用BigDecimal来处理,代码更新后如下:

double a = 1;

double b = 20.2;

double c = 300.02;

BigDecimal a1 = new BigDecimal(Double.toString(a));

BigDecimal b1 = new BigDecimal(Double.toString(b));

BigDecimal c1 = new BigDecimal(Double.toString(c));

double result = (a1.add(b1).add(c1)).doubleValue();

System.out.println(result);

5.点击上方的【运行】按钮,再次运行程序。

6.结果与我们预期的结果一样,是321.22,这样就成功的解决了double的精度丢失问题。

  • IntelliJ IDEA如何新建分支
  • Eclipse IDE Debug如何不运行断点
  • 求负数的补码,有一个简便的方法
  • 在Ubuntu里如何用Pycharm来新建项目
  • C语言中的assert函数用法
  • 热门搜索
    重庆有哪些旅游景点 遵义旅游必去景点 世界旅游小姐大赛 北川羌城旅游区 旅游网站源码 春秋旅游官网 黄山旅游网 大连到云南旅游报价 杭州市旅游 威海旅游局