gpt4 book ai didi

Java Math.pow 问题

转载 作者:行者123 更新时间:2023-12-01 06:47:02 25 4
gpt4 key购买 nike

我正在开发一个需要计算数字立方的程序。长话短说,我需要将数字与字符串进行比较,因此当我转换为字符串时,我需要去掉 double 给出的小数位。为此,我使用 Math.round 并将其保存为 long。这对于相对正常的数字来说效果很好,但数字可以达到 999,999。

我使用了 275393(一个给定的测试数字,所以我假设它对于我正在处理的问题来说一定是正确的),计算器和计算机似乎都没有得到正确的答案。正确答案应该在结果中的某处包含 123457,但计算器有 12346(我认为这只是四舍五入,因为它在此之后停止列出数字),而计算机有 123456(计算机在这一点之后停止列出数字)。四舍五入是否会带来问题(不应该,因为我很确定它只会四舍五入到十分位,但谁知道)?还是别的什么?

最佳答案

Math.pow() 接受两个 double 并返回一个 doubledouble 的精度不足以表示 2753933 = 20886164356123457(精确)。

解决方案是使用 BigInteger.pow() .

关于Java Math.pow 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491881/

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