当前位置: 首页 > 面试题库 >

Android-精确的数学计算

巫马浩言
2023-03-14
问题内容

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

但是这个简单的代码

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

double c = a / b;

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

double d = 3.048 / 1000;

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

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

提前致谢!
路德维希

开发以下产品:
-Android 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


 类似资料:
  • Elasticsearch新手问题。我上了莎士比亚的课。json转换为Elastic,我正试图找出如何进行类似于按说话人从行组中计数(1)的聚合。(“Line”是文档的类型,“speaker”是属性之一。) 现在我有一个这样的查询: 结果看起来不错,但ElasticSearch文档指定术语聚合的文档计数是近似值(https://www.elastic.co/guide/en/elasticsear

  • 一位电气工程师最近告诫我不要将GPU用于科学计算(例如,在精度非常重要的情况下),因为它没有像CPU那样的硬件保障。这是真的吗?如果是的话,这个问题在典型的硬件中有多普遍/多严重?

  • 标准正态分布的概率密度函数定义为e < sup >-x < sup > 2 /2 /√(2π)。这可以用简单的方式转换成C代码。单精度实现的示例可能是: 虽然此代码没有过早的下限溢位,但存在精度问题,因为计算2/2时产生的误差会被后续的幂运算放大。人们可以通过针对更高精度引用的测试轻松证明这一点。确切的误差将根据所使用的或实现的准确性而有所不同;对于忠实四舍五入的幂函数,人们通常会观察到IEEE-

  • 本文向大家介绍java精度计算代码 java指定精确小数位,包括了java精度计算代码 java指定精确小数位的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java指定精确小数位的具体代码,供大家参考,具体内容如下 java代码: 控制台: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍jquery精度计算代码 jquery指定精确小数位,包括了jquery精度计算代码 jquery指定精确小数位的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery指定精确小数位的具体代码,供大家参考,具体内容如下 页面显示: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 运行以下(略为伪)代码会产生以下结果。我震惊于定时器是如此的精确(每,增益约14ms)。 外面还有更准确的吗?