jquery javascript在添加之前将值设置为float

时间:2015-08-31 03:43:19

标签: javascript jquery html css

我的应用在网页上有一个文本框,其值已被查找,然后被添加或减去另一个值。

它似乎很好地减去,但是在添加时,它将文本框中的值解释为文本,并将另一个float添加为文本:

subtracted a few times, then added as text

以下是更改内容的源代码:

  $('#mymoney').val($('#mymoney').val() +  $prevevent.close);

//...or when subtracting:...//

  $('#mymoney').val($('#mymoney').val() -  $prevevent.close);

如何告诉mymoney被解释为浮点而不是字符串?

3 个答案:

答案 0 :(得分:4)

这是因为.val()正在以字符串形式读取值并进行连接。您可以使用parseInt()

将其解析为整数
$('#mymoney').val( parseInt($('#mymoney').val()) +  $prevevent.close);

对于浮点值,请使用parseFloat()

$('#mymoney').val( parseFloat($('#mymoney').val()) +  $prevevent.close);

答案 1 :(得分:1)

使用parseFloat

这很简单

$('#mymoney').val(parseFloat($('#mymoney').val()) + $prevevent.close);

因为如果任一运算符hand是一个字符串,JS会将另一只手解释为string。 或者,您可以使用Number()将字符串解析为(int或float)数字,如:

$('#mymoney').val(Number($('#mymoney').val()) + $prevevent.close);

但是parseInt or parseFloat is prefer,因为它的行为比Number更正常。例如,Number会将null""解析为0,并删除数字开头的0,尽管它可能代表八进制数字。此外,parseInt将返回正确的部分,直到无法解析,例如:parseInt("15abc")返回15

答案 2 :(得分:0)

其他答案都是正确的。然而,这里是另一种魔法的语法香料,可以为整数值创造奇迹。

您可以使用parseInt前置表达式,而不是使用+,它会将以下值解析为整数。

$('#mymoney').val( (+$('#mymoney').val()) + $prevevent.close);