JavaScript将数字视为字符串,而不是整数,ParseInt不会修复它

时间:2012-09-21 20:31:06

标签: javascript html

我正在尝试在两个输入类型的文本字段中插入两个数字。在我这样做之后,我必须确保第一个数字小于第二个数字。要做到这一点,我正在捕获这两个字段:

var supt = $('#suptotal').val();
var supc = $('#supcubierta').val();

当我比较两个变量时,它们是字符串,因此例如21被认为大于123。

我尝试使用函数ParseInt,就像这样

var supt = ParseInt($('#suptotal').val());

但它不起作用。如何将数字作为数字进行比较?

3 个答案:

答案 0 :(得分:5)

使用parseInt($('#suptotal').val(), 10)作为ParseInt($('#suptotal').val(), 10)

函数名称区分大小写

答案 1 :(得分:2)

parseInt( $('#suptotal').val(), 10 ); 

同时指定一个基数,如果字符串包含'010'之类的内容,它将被解释为八进制并导致8。

答案 2 :(得分:1)

ParseInt($('#suptotal').val());

您错误地写了这个功能。 parseInt以lowerCamelCase样式定义。

parseInt($('#suptotal').val());

还建议您为基数10指定基数参数10。

parseInt($('#suptotal').val(), 10);

但是,如果您只是想将字符串转换为数字,请使用二元运算符+的一元效果,当在单个操作数上使用时,它会将值强制转换为数字:

var supt = +$('#suptotal').val();