JavaScript中数字比较大小的问题

原创 2016年08月29日 14:54:50

最近解决了一个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中经常遇到纯数字和各种各样的字符串进行比较,并且稍有混乱,特别整理一下,理清思路。 function test(){ //1)纯数字之间比较 //al...

JavaScript-数字和字符串比较大小

JavaScript-数字和字符串比较大小 JavaScript经常会比较字符串的大小,有的时候容易混淆,因此简单的梳理一下JavaScript字符串的比较: ...

oracle数据库中varchar类型字段中存放的有数字和汉字情况,比较大小问题解决

如果你也正在为这种问题头疼,当你看到我这篇博客时,恭喜你,问题的解决方案来了,你头疼的问题可以解决了。 这个问题是我在最近的项目中遇到的难题,上网查阅了很多资料,都没能解决问题,最后还是问了大牛,才解...

JS中字符串比较大小判断的问题(转数字比较)

因为最近你在写JS页面,有时候需要写到验证,就遇到比较的问题: JS验证代码如下: 页面效果: (前面开始的时间段3-9,21-23会出现验证,10-20不会) 问题原因:得到的结...

JavaScript 特有奇葩问题“字符串类型与数字类型混乱”的分析与解决,与类型转换

字符串类型与数字类型的混乱,应该是JS最著名的奇葩问题了。 恰好最近遇到这个问题,在这里对这个问题的解决方法及产生原因进行总结与分析。 Java 语言与 JavaScript 语言是什么关系。这是...

javascript数字类型(Number)不精确问题

JavaScript中所有的数字,无论是整数还是小数,其类型均为Number。在程序内部,Number类型的实质是一个64位的浮点数,这与Java中double类型的浮点数是一致的;因此,JavaSc...

彻底解决Javascript数字计算不精确的问题

问题重现 由于Javascript在实现数字运算的时候,

javascript中replace正则表达式解决数字溢出及人民币格式化问题

1.解决通过ajax请求获取服务端数据时数字溢出问题; 2.解决人民币格式化问题;...

javascript 数字精度问题

来源:http://rockyee.iteye.com/blog/891538 摘要: 由于计算机是用二进制来存储和处理数字,不能精确表示浮点数,而JavaScript中没有相应的封装类来处理浮点数...
  • gqltt
  • gqltt
  • 2013年11月13日 16:30
  • 1005

不精确数字比较问题

--排序是编程过程经常遇到的一类问题,同时人们也提出了各种各样的方法来提高排序的性能,以后有时间再复习一下各种排序。本文是解决一下排序之前的比较问题,因为只有比较了大小,才能有依据进行排序嘛。。。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript中数字比较大小的问题
举报原因:
原因补充:

(最多只允许输入30个字)