Javascript找到梯形区域加上不允许用户输入非数值

时间:2014-10-31 00:40:27

标签: javascript

我正在使用一个基本的Javascript程序来计算梯形的面积,给出变量名称和梯形区域的公式,我已经想到了。我遇到问题的部分是如此,如果他们输入的值不是数字,它会重新提示用户输入变量。我尝试了以下以及警报而不是提示:

while (isNaN(variablename)==true);
{
   variablename = prompt("please enter a numerical value");
}

除了是否是NaN之外,它只会在循环中运行。以下是我到目前为止:

var topLen = Number(prompt("Enter a Number for the Top Length of the Trapezoid"));
var botLen = Number(prompt("Enter a Number for the Bottom Length of the Trapezoid"));
var trapHeight = Number(prompt("Enter a Number for the Height of the Trapezoid"));

var trapArea = ((.5*trapHeight)*(topLen+botLen));

document.write("The area of a trapezoid with a tip length of " + topLen + ", 
bottom length of "     + botLen + " and the height of " + trapHeight + " is " + trapArea +".");

请注意我不能使用和功能,除了isNaN(),因为我们还没有教过它们。

1 个答案:

答案 0 :(得分:0)

你有两件你需要的东西:

  1. 一个循环,用于继续请求值,直到它是有效数字
  2. 将字符串转换为数字的方法,例如isNan()可用于查看字符串是否代表数字。
  3. 您只需要将它们组合在一起:在测试之前将您提示的字符串转换为数字。