gpt4 book ai didi

java - Android - 精确的数学计算

转载 作者:行者123 更新时间:2023-12-01 16:34:41 24 4
gpt4 key购买 nike

我遇到了一个问题,我正在开发一个应用程序,它应该能够进行一些数学计算。这些计算必须准确(或者不是明显错误)

但是这个简单的代码

double a = 3.048d;
double b = 1000d;

double c = a / b;

给了我一个错误的结果 c 不是预期的 0.003048,而是 0.0030480000000000004,这显然是错误的。

double d = 3.048 / 1000; 

第二个代码 fragment 给出了正确的结果。

我知道用计算机计算时所有浮点运算都不精确,但我不知道如何解决这个问题。

提前致谢!
路德维希

开发目的:
- 安卓2.2
测试设备:
- HTC Desire

最佳答案

为了获得精确的精度,您需要使用 BigDecimal对象:

BigDecimal a = new BigDecimal("3.048");
BigDecimal b = new BigDecimal(1000);

BigDecimal c = a.divide(b);

System.out.println(c); //0.003048

关于java - Android - 精确的数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com