我正在尝试制作一个计算梯形区域的javascript程序。到目前为止,我的js代码是:
var lol=prompt("Please enter which 2d polygon you would like this awesome calculator to calculate.")
if(lol==="trapezoid"){
var tr1=prompt("Enter the top base.")
var tr2=prompt("Enter the bottom base.")
var tr3=prompt("Now enter the height.")
confirm((tr1+tr2)*(tr3)/2)
}
但是当我把4,5,6放在我的计算器中时,它会吐出135而不是27。
为什么?
答案 0 :(得分:1)
您可以使用parseInt
将值设置为整数。
var lol=prompt("Please enter which 2d polygon you would like this awesome calculator to calculate.")
if(lol==="trapezoid"){
var tr1=Number(prompt("Enter the top base."))
var tr2=Number(prompt("Enter the bottom base."))
var tr3=Number(prompt("Now enter the height."))
confirm((tr1+tr2)*(tr3)/2)
}
这是一个与Benjamine的Number
点
答案 1 :(得分:1)
您从提示中返回的值是字符串,正如Ryan P所说," 1" +" 1" =" 11"。
您需要做的是在计算中使用它们之前将字符串转换为整数。
您可以使用Number()
功能执行此操作
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
因此,您的代码可能是:
confirm((Number(tr1) + Number(tr2)) *(Number(tr3))/2)
或者,使用一元加速记:
confirm((+tr1 + +tr2)*(+tr3)/2)