关闭

JavaScript中数字比较大小的问题

标签: javascript
57人阅读 评论(0) 收藏 举报
分类:

最近解决了一个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()方法不仅返回整型数值,还可以返回浮点型。这个强制转换类型的方法比较简单暴力,推荐使用。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:61次
    • 积分:10
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档