我有一个HTML div,我使用JavaScript从中检索值,如下所示:
var oCreditStatus = document.getElementById('creditStatusField');
var oOrigValue = oCreditStatus.value;
var oOrigValue将始终为数字,有时为0(零)。
我现在想要将数字递增或递减1.但是,当我执行以下操作时:
var oNewValue = oCreditStatus.value + 1;
我得到值01,然后是011,这是错误的,因为我想要1,2。
我知道它不会将其识别为数字,但我如何才能将其识别为数字。
答案 0 :(得分:5)
你不能。 Javascript引擎会将其读作文本/字符串。您已使用以下代码:
编辑。使用基数(基数10)感谢@James进行修订。
var oCreditStatus = document.getElementById('creditStatusField');
var oOrigValue = parseInt(oCreditStatus.value, 10); // use parseFloat for decimal.
答案 1 :(得分:3)
var oOrigValue将始终为数字,有时为0(零)。
只需将其传递给Number
函数,因为oOrigValue
始终是一个数字。 (注意:0
也是一个数字)
var oOrigValue = Number(oCreditStatus.value);
通过在+
和~~
答案 2 :(得分:2)
实际上oOrigValue
不是数字,而是字符串。为了能够为其添加另一个数字,您必须先解析它。有几种方法可以做到:
var parsedValue = parseInt(oOrigValue, 10); // remember about the second parameter - the radix
或更简单,但不太可读
var parsedValue = +oOrigValue;
答案 3 :(得分:0)
尝试这个
var oCreditStatus = document.getElementById('creditStatusField').value*1;
答案 4 :(得分:0)
您需要将oCreditStatus.value
解析为int
var oNewValue = parseInt(oCreditStatus.value) + 1;