Java怎样进行精确的浮点数计算

学过编程的朋友一定都清楚,与数学中的小数不同,在计算机内部存储的浮点数是无法做到精确的。

那么,当我们进行 Java 编程时,如果想要进行精确的浮点数计算,究竟应该怎么做呢?

操作方法:

  1. 1

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

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

    Java怎样进行精确的浮点数计算

  2. 2

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

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

    Java怎样进行精确的浮点数计算

  3. 3

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

    Java怎样进行精确的浮点数计算

  4. 4

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

    Java怎样进行精确的浮点数计算

  5. 5

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

    Java怎样进行精确的浮点数计算

  6. 6

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

    Java怎样进行精确的浮点数计算

    END

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值