如何解决禁用无穷大规则的科学记数法
我一直试图用科学记数法计算结果,但仍然禁止无穷大规则,但我似乎无法让它发挥作用。当我使用 toExponential() 函数时,它会响应一条错误消息。请问我有什么帮助吗?代码如下:
<!DOCTYPE html>
<html>
<body>
Base:<input id="n1" rows=1 cols=3 type=number">
Exponent:<input id="n2" rows=1 cols=3 type="number">
<script>
var calc=0
function calculate() {
calc=document.getElementById("result").innerHTML =
BigInt(document.getElementById("n1").value)**BigInt(document.getElementById("n2").value)
calc.toExponential()=document.getElementById("result");
}
</script>
<button onclick="calculate()">Calculate</button><p>=<span id="result" style=display:none></span>
</p>
<script src="decimal.js/decimal.js"></script>
</body>
</html>
解决方法
toExponential 在 BigInt 上不存在。由于toExponential()
中存在Number.prototype.toExponential()
,所以需要将BingInt解析为float,然后调用toExponential()。
function calculate() {
let calc = BigInt(document.getElementById("n1").value)**BigInt(document.getElementById("n2").value);
document.getElementById("result").innerHTML = parseFloat(calc).toExponential();
console.log(parseFloat(calc).toExponential());
}
<!DOCTYPE html>
<html>
<body>
Base:<input id="n1" rows=1 cols=3 type=number">
Exponent:<input id="n2" rows=1 cols=3 type="number">
<button onclick="calculate()">Calculate</button><p>=<span id="result"></span>
</p>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。