js 小数比较,大家都是如何比较的?

例如:9.11 >9.9

8 个赞

js不知道,但是python是
print(“9.9 > 9.11”)

3 个赞

我明白了,你是要比对版本号大小吧

image
请问不是直接进行比较吗?

image
确实不能直接比

让后端比

1 个赞

js 要用一些高精度的库来处理数据,例如 mathjs,不过数据一般丢给后端处理 :grinning:

1 个赞

我就是后端 :joy:所以对 js 的逻辑想当然了

1 个赞

我想要的是 true :joy:

那去搜搜关于 semver 的库吧
这个是 npm 用的:

big.js应该可以

Python比较版本号应该用packaging包

使用函数库 或者让后端来 :rofl:

转字符串,分割.,分割后,分别比,整数相同再比 小数
我寻思这也没什么难度啊

咋写? :joy:

function comparisons(a , b){
var x=String(a).split(“.”);
var y=String(b).split(“.”);
if(Number(x[0])>Number(y[0])){return true;}
else if(Number(x[0])<Number(y[0])){return false;}
else{
if(Numbae(x[1])>Number(y[1])){return true;}
else{return false;}
}
}
调用方式:comparisons(9.11,9.9)

1 个赞

js对数据处理一般都让后端整的,没办法语言设计的问题,大数小数无论字符串还是乘幂比较都有误差

别让前端算数,前端js连0.1+0.2都算不明白,让后端算好发来

确实,我考虑 Mathjs 库了

thanks