JavaScript中数字比较大小的问题

最近解决了一个js的小问题,觉得挺有趣决定记下来。

if(parseFloat(self.bill().orderFinalTotal()).toFixed(2)>= (parseFloat(data.LeastCost)/100))
{
...
}else 
{
...
}

得出来的结果竟然是orderFinalTotal()的5.00比data.LeastCost的12.32还要大,判断失败。

后来去掉了左边的toFixed()方法后判断才正确了。

结论:
1.js中字符串的比较是从左往右的,5比10大,因为编译器最先判断的是首位字符,5比1大,所以数字如果要判断大小要注意类型转换。
2.toFixed()方法是保留小数点的方法,用在数值类型,返回的却是字符串类型,有点小坑。
3.查了度娘后得知,Number()方法不仅返回整型数值,还可以返回浮点型。这个强制转换类型的方法比较简单暴力,推荐使用。

阅读更多
文章标签: javascript
个人分类: JS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

JavaScript中数字比较大小的问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭