如何从提示框中获取数值?

IT技术 javascript jquery html
2021-01-24 20:33:43

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

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

但是我无法执行任何类型的计算,因为这些值是字符串。
拜托,任何人都可以告诉我如何将它们转换为整数。

6个回答

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

句法:

 parseInt(string, radix);
 parseFloat(string); 
  • string : 要解析为数字的字符串表达式。
  • 基数:(可选,但强烈鼓励)要使用的数字系统的基数 - 2 到 36 之间的数字。

例子:

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

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

@trincot 是的,你说得对。抱歉,盯着电脑屏幕太久了。
2021-04-01 20:33:43
-1 原因如下: parseFloat() 没有第二个参数(阅读更多:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...),在 parseInt 中省略基数是一个不好的做法(见解释在这里:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...)最后:转换不是执行计算所必需的(JavaScript 是弱类型,证明:jsfiddle.net/ehhfE)。
2021-04-04 20:33:43
@Kadima,我恢复了您建议的部分编辑:提示函数的第二个参数不是基数,而是默认值。
2021-04-09 20:33:43

如果您对其执行计算(因为 JS 是弱类型的),JavaScript 会将数字字符串“转换”为整数。但是您可以使用parseInt自己转换它parseFloat

只要记住把基数放进去parseInt

在整数输入的情况下:

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

在浮动的情况下:

var x = parseFloat(prompt("Enter a Value", "0"));
var y = parseFloat(prompt("Enter a Value", "0"));
var xInt = parseInt(x)

这将返回integer值,或NaN

在此处阅读有关parseInt 的更多信息

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

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

10 表示基数为 10 的数字。

有关为什么需要基数的解释,请参阅此链接

谢谢@Tadeck +1,我暂时忘记了;)
2021-04-07 20:33:43
现在可以了(添加了基数免责声明)。
2021-04-08 20:33:43

工作演示 阅读更多信息

parseInt(x) 它会将其转换为整数

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

parseFloat(x) 它会将其转换为浮点数

工作演示 阅读更多信息

x = parseFloat(x);

你可以直接使用 prompt

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