关于javascript:如何从提示框中获取数值?

How to get numeric value from a prompt box?

本问题已经有最佳答案,请猛点这里访问。

我试图用HTML、jquery和javascript做一些简单的数学计算,所以我想从用户那里得到输入。对于输入,我尝试这样做:

1
2
 var x = prompt("Enter a Value","0");
 var y = prompt("Enter a Value","0");

但是我不能执行任何类型的计算,因为这些值是字符串。请告诉我如何把它们转换成整数。


parseInt()或parseFloat()是javascript中的函数,可以帮助您分别将值转换为整数或浮点。

语法:

1
2
 parseInt(string, radix);
 parseFloat(string);

  • 字符串:要作为数字分析的字符串表达式。
  • 基数:(可选,但鼓励使用)要使用的数字系统的基数-一个介于2和36之间的数字。

例子:

1
2
3
4
 var x = prompt("Enter a Value","0");
 var y = prompt("Enter a Value","0");
 var num1 = parseInt(x);
 var num2 = parseInt(y);

在此之后,您可以对它们执行任何您想要的计算。


如果您对数字字符串进行计算(因为JS是弱类型的),javascript会将其"转换"为整数。但是你可以自己用parseIntparseFloat来转换它。

记住把基数放在parseInt中!

对于整数输入:

1
2
var x = parseInt(prompt("Enter a Value","0"), 10);
var y = parseInt(prompt("Enter a Value","0"), 10);

如果是浮动:

1
2
var x = parseFloat(prompt("Enter a Value","0"));
var y = parseFloat(prompt("Enter a Value","0"));


1
var xInt = parseInt(x)

这将返回integer值或NaN

在这里阅读关于parseint的更多信息。


您可以使用parseInt(),但如前所述,应指定基数(base):

1
2
x = parseInt(x, 10);
y = parseInt(y, 10);

10表示以10为基数的数字。

请参阅此链接以了解为什么需要基数。


工作演示阅读更多信息

parseInt(x)将其转换为整数

1
2
x = parseInt(x);
x = parseInt(x,10); //the radix is 10 (decimal)

parseFloat(x)将其抛入浮球

工作演示阅读更多信息

1
x = parseFloat(x);

您可以直接使用prompt

1
var x = parseInt(prompt("Enter a Number","1"), 10)

必须使用parseInt()来转换

例如。

1
  var z = parseInt(x) + parseInt(y);

如果要处理浮点值,请使用parsefloat()。