我的条件是检查数字是否大于50,000,如果是,我们会显示警告。这样可以正常工作,但是如果你输入这个50,000.99就不会触发警报,但是51,000.00就是这样。我如何在这里正确使用条件?
这是我的代码:
if (parseInt(newValue) > 50000.00) {
toastr.info('Number can not be more than $50000.00');
// do something
} else {
// do something
}
答案 0 :(得分:6)
不要使用parseInt
来解析十进制数字:
相反,您可以使用parseFloat
。但是等等:
有一种更好的方法:unary +
operator:
但等等:当你使用大于运算符>
时,操作数会自动转换为数字(除非两者都是字符串)。
所以只需使用
newValue > 50000
答案 1 :(得分:2)
不要使用parsint。它会将您的字符串/数字转换为整数,从而有效地减去小数。
答案 2 :(得分:1)
如果您想要一个带分数的数字,请使用parseFloat
,而不是parseInt
。整数没有分数。实数有分数,它们在计算机程序中表示为浮点数。
答案 3 :(得分:1)
使用parseFloat:
if (parseFloat(newValue) > 50000.00) {
toastr.info('Number can not be more than $50000.00');
// do something
} else {
// do something
}
parseFloat()函数解析字符串参数并返回浮点数。
答案 4 :(得分:1)
使用十进制值时,请使用parseFloat而不是parseInt。
parseInt("234")//234
parseInt("234.551")//234
parseInt(".234")//NaN
parseFloat("234")//234
parseFloat("234.551")//234.551
parseFloat(".234")//0.234
+("234")//234
+("234.551")//234.551
+(".234")//0.234