大于带数字和小数的条件
greater than condition with number and decimal
我有一个条件,将检查数字是否大于50000,如果是,我们将显示警报。这很好,但如果你输入这个50000.99,它不会触发警报,但51000.00会触发。如何在这里正确使用条件?
这是我的代码:
if (parseInt(newValue) > 50000.00) {
toastr.info('Number can not be more than $50000.00');
// do something
} else {
// do something
}
不要使用parseInt
解析十进制数:
- :(它会截断你的数字
- :(除非指定基数,否则不可靠
- :(很慢
- :(如果非数字字符串以数字开头,则解析它们
相反,您可以使用parseFloat
。但是等待:
- :)它不会截断您的数字
- :)不存在基数问题
- :(很慢
- :(如果非数字字符串以数字开头,则解析它们
有一种更好的方法:一元+
算子:
- :)它不会截断您的数字
- :)不存在基数问题
- :)太快了
- :)它不解析非完全数字字符串
但是请等待:当您使用大于运算符>
时,操作数会自动转换为数字(除非两者都是字符串)。
所以只要使用
newValue > 50000
不要使用parsint。它将字符串/数字转换为整数,有效地减少了小数。
使用parseFloat:
if (parseFloat(newValue) > 50000.00) {
toastr.info('Number can not be more than $50000.00');
// do something
} else {
// do something
}
parseFloat()函数解析字符串参数并返回一个浮点数。
如果您想要一个带分数的数字,请使用parseFloat
,而不是parseInt
。整数没有分数。实数有分数,在计算机程序中用浮点表示。
使用十进制值时,请使用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
相关文章:
- 货币代码为欧元-金额的格式不应包含小数
- 通过js在新选项卡中有条件地打开url
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- jQuery-有条件地附加HTML
- 根据某些条件在视图之间切换
- 如何做到这一点,使代码在不传递条件后执行函数
- 有条件更新d3.js力图中节点的最佳方法
- javascript中的布尔条件
- Woocommerce产品选项有条件
- 基于两个条件退出While循环
- 有条件地在选项标记中应用布尔属性
- 使用javascript以HTML形式验证条件
- 聚合物0.5.5:核心列表中的条件模板和/或模板动态参考
- javascript对象操作:根据指定条件选择属性
- 这个条件语句的逻辑有问题
- ADF:有条件地加载javascript资源
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 键按正则表达式以查找具有负值的小数
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 大于带数字和小数的条件