gpt4 book ai didi

javascript - 有人修复了 javascript 与大数字的比较吗?

转载 作者:行者123 更新时间:2023-11-30 13:14:29 26 4
gpt4 key购买 nike

我一直在摆弄 HTML 和操纵 SVG。作为练习,我创建了一个页面,该页面使用 javascript 来解决勾股定理并在 300h x 300w 区域中显示三 Angular 形。我认为我的问题是,当变量“a”和变量“b”之间的差异太大时,比较“if(a>b) ”无法正常工作。所以它非常适用于 a=55b=32 甚至 a=5555b=5000 但如果我执行 a=1001b=55 它似乎运行它就像 b 大于 a .

<h2>Pythagorean theorem</h2>
<p>Enter Variable "a"<input id="vara" type="text"></p>
<p>Enter Variable "b"<input id="varb" type="text"></p>
<p><span id="a">a</span><sup>2</sup> +
<span id="b">b</span><sup>2</sup> =
<span id="c">c</span><sup>2</sup></p>

<script>
function pythagorean(){
var a=document.getElementById("vara").value;
var b=document.getElementById("varb").value;
var x=a * a + b * b;
var c=Math.sqrt(x);

if(a>b){
ay=0
bx=b/a*300
}
else{
ay=300-(a/b*300)
bx=300
}

document.getElementById("a").innerHTML=a;
document.getElementById("b").innerHTML=b;
document.getElementById("c").innerHTML=c;
document.getElementById('trianglepoints').setAttribute("points",bx+",300 0,300 0,"+ay);
}

</script>

<svg id="triangle xmlns="http://www.w3.org/2000/svg" version="1.1" height="300" width="300">
<polygon id="trianglepoints" points=""
style="fill:red;stroke:black;stroke-width:1;">
</svg>
<br />

<button type="button" onclick="pythagorean()">calculate</button>

最佳答案

确保将 element.value 返回的 String 值转换为 Number:

a = document.getElementById('vara').value;
a = +a;
-or-
a = Number(a);

否则,当你比较a > b时,它会做一个字符串比较,'1001'小于'55' (首先比较第一个字符)。

关于javascript - 有人修复了 javascript 与大数字的比较吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576240/

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