在 JavaScript 公式中使用 HTML 文本框中的数字

Use number from HTML text box in JavaScript equation

本文关键字:文本 数字 HTML JavaScript      更新时间:2023-09-26

所以我有一些HTML代码:

<input type="number" id="height">

我想获取此框中输入的任何内容并将其用作整数/浮点数等。 假设我输入"2"。下面是 JavaScript 代码:

var test;
var a;
test = document.getElementById('height').value;
a = 2 + test;

当我打印 a 时,我得到 22。这是有道理的,但我想要 4。换句话说,我希望将测试视为 int/float(在文本框中输入的任何内容)。是否有一种 HTML 输入类型可以为我执行此操作,或者我是否必须以另一种方式更改它(如 JavaScript 命令)。

使用(+)又名unary plus运算符作为变量赋值(rvalue)的第一个标记,test = +document.getElementById('height').value

developer.mozilla.org

一元加运算符位于其操作数之前并计算其操作数,但尝试将其转换为数字(如果尚未转换为数字)。虽然一元否定 (-) 也可以转换非数字,但一元加是将某些内容转换为数字的最快和首选方法,因为它不对数字执行任何其他操作。它可以转换整数和浮点数的字符串表示形式,以及非字符串值 true、false 和 null。支持十进制和十六进制(以"0x"为前缀)格式的整数。支持负数(但不适用于十六进制)。如果它无法解析特定值,它将计算为 NaN。

工作示例

var test = +document.getElementById("height").value;
var a;
a = 2 + test;
alert(a);
<input type="number" id="height" value="5">

这是因为test是一个字符串,而不是一个数字。使用Number()将其转换为数字:

a = 2 + Number(test);

供您参考,JavaScript 不是 Java - JavaScript 更适合浏览器,而 Java 通常适用于更一般的情况 - 每个语法都隐约相似,但仍然不同。您正在使用 JavaScript