生活百科知识

经验知识首页 > 手机软件 > 详细经验讲解内容页

[视频]Java怎样进行精确的浮点数计算

关于非你莫属Java怎样进行精确的浮点数计算,期待您的经验分享,你无异于雪中送炭,让我感激涕零 !
visualname 2018-10-22 12:10:21 17946人看过 分享经验到微博

更新:2024-03-10 07:51:38精品经验

来自淘宝网https://www.taobao.com/的优秀用户visualname,于2018-10-22在生活百科知识平台总结分享了一篇关于“Java怎样进行精确的浮点数计算我叫mt”的经验,非常感谢visualname的辛苦付出,他总结的解决技巧方法及常用办法如下:

学过编程的朋友一定都清楚,与数学中的小数不同,在计算机内部存储的浮点数是无法做到精确的。那么,当我们进行 Java 编程时,如果想要进行精确的浮点数计算,究竟应该怎么做呢?

操作方法:

1/6分步阅读

在书写代码之前,我们需要先导入 math 下的 BigDecimal 和 RoundingMode 类。在这里,由于整个例子需要导入 math 下的多个类,为了方便起见,我们可以直接导入 java.math.*。

注意,Java 的导包与 C++ 的包含头文件是不同的。在 Java 中,import 语句后边的代码只是说明到哪里去寻找,而不是将其包含进来。因此,我们写成 import java.math.* 并不会产生性能问题。

[图]2/6

随后,我们要新建两个 BigDecimal 类型的操作数。

在创建时,必须要提醒大家注意的是,在这里,括号中的参数一定要使用字符串,而不能是浮点值(虽然也支持浮点类型的参数)。这是因为在计算机中,浮点值是不精确的。你写入一个 1,很可能在内部实际保存的是 1.00000001。而字符串则不同,它是可以精确表示的。

[图]3/6

操作数建好后,我们就可以对其进行四则运算了。首先,我们通过分别调用相应的方法,来进行加法、减法、乘法计算。

[图]4/6

接下来,我们来看除法。在进行除法运算时,由于可能会出现除不尽的情况,因此我们需要指定保留的小数位数(即精度)以及舍入模式。

[图]5/6

在大多数情况下,我们都可以选择四舍五入模式。关于四舍五入模式究竟是如何处理最后一位小数的,大家可以通过给出的示例了解详情。

[图]6/6

为了更好地查看效果,我们为 1 除以 7 的结果指定了 100 位小数,并且采用了四舍五入的模式。下面,便是整个示例的运行结果。

[图]JAVA编程语言浮点数精度

编辑于2018-10-22,内容仅供参考并受版权保护

经验备注

我发现了这篇经验很有用:你也认同《Java怎样进行精确的浮点数计算》的经验分享有价值,就请和朋友们一起分享吧。另外,Java怎样进行精确的浮点数计算的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。

本文网址:https://www.5058.cn/article/84b4f565a41a4760f6da3234.html

下一篇