如何从提示框中获取数值? [复制]

Posted

技术标签:

【中文标题】如何从提示框中获取数值? [复制]【英文标题】:How to get numeric value from a prompt box? [duplicate] 【发布时间】:2013-07-28 06:20:28 【问题描述】:

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

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

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

【问题讨论】:

使用Number 将字符串转换为数字。 parseFloat 可以在需要解析字符串中的数字时使用 — 解析转换的语义不同;阅读文档以了解差异。如果您确实需要整数,请使用parseInt,但请使用with the second parameter, 10 【参考方案1】:

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

语法:

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

示例:

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

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

【讨论】:

-1 原因如下:parseFloat() 没有第二个参数(阅读更多:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…),在 parseInt 中省略基数是一种不好的做法(请参阅此处的解释:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…)和finally:执行计算不需要转换(JavaScript 是弱类型,证明:jsfiddle.net/ehhfE)。 @Kadima,我恢复了您建议的部分编辑:prompt 函数的第二个参数不是基数,而是默认值。 @trincot 是的,你是对的。抱歉,盯着电脑屏幕太久了。【参考方案2】:

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

记得把基数放在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"));

【讨论】:

【参考方案3】:
var xInt = parseInt(x)

这将返回 integer 值或 NaN

阅读更多关于parseInt here的信息。

【讨论】:

【参考方案4】:

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

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

10 表示以 10 为底的数字。

请参阅this link,了解为什么需要使用基数。

【讨论】:

现在可以了(添加了基数免责声明)。 谢谢@Tadeck +1,我暂时忘记了 ;)【参考方案5】:

Working DemoReading more Info

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

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

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

Working DemoReading more Info

x = parseFloat(x);

你可以直接使用prompt

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

【讨论】:

【参考方案6】:

你必须使用 parseInt() 来转换

例如。

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

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

【讨论】:

在使用parseInt 时应始终指定基数(参见Andy G 的回答)

以上是关于如何从提示框中获取数值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将系数值从逻辑回归中提取到 R 中的数据框中? [复制]

C#中如何检查文本框的输入信息是不是为数字?

DElPHI中,如何在文本框中输入错误数据是给出提示

c#中的文本框里怎么判断输入的内容是啥类型

如何从 imdb 获取更多信息并将其保存在 pandas 数据框中? [复制]

axure7.0如何实现光标在文本框中获得焦点时,文本框内容自动清空。失去焦点时显示默认文字,谢谢!