JavaScript var未被识别为数字

时间:2015-01-19 15:03:08

标签: javascript var

我有一个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。

我知道它不会将其识别为数字,但我如何才能将其识别为数字。

5 个答案:

答案 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;