项目里比较浮点数大小,只要浮点数位数不一样就无法比较,3位数和4位数比较会出错
请问下怎么解决
正常number类型比较是不会有问题的。你这里c和d已经是字符串了(因为你用了toFixed),字符串的比较那就不一样了,就像一楼说的那样。所以判断的时候转一下number。
if(Number(d) > Number(c)){
xxx
}else{
xxx
}
字符串比较大小,JS解释器会把字符串转换为ASCII码逐个字符依次比较
数字 0-9对应的ASCII码为48-57
2 > 1 转换成ASCII码就是 50 > 49,这就是 200.00 大于 1000.00原因