【发布时间】:2021-07-25 00:05:24
【问题描述】:
我正在将 python 代码转换为 js,但无法解决这个问题 x = int(num ** 0.5) (num 是大整数)
如何在 javascript BigInt 中计算?
谢谢我解决了
var num = BigInt("14564566644656456665555555555555555555555555545654645"); //example
num = BigInt(Math.round(parseInt(num.toString()) ** 0.5 )); // result is exact same as python tested more
【问题讨论】:
-
什么是
**?这是在JS还是python中?你应该添加minimal reproducible code。 -
不幸的是,我不相信这是可能的。请参阅 TypeError: Cannot mix BigInt and other types, use explicit conversions 和 Why BigInt demand explicit conversion from Number?。一目了然,它似乎因为
BigInt被限制为整数你不能做会导致非整数数字的操作,但我只是在扫描. -
@decpk
**做 JavaScript 运算符已有 5 年了 -
我被困在这里了吗?
-
如果您想取 BigInt 值的平方根,您必须编写(或找到)面向 BigInt 的方法。如果数字不是完美的平方,你显然无法得到准确的 BigInt 结果。
标签: javascript