js货币比较

来源:互联网 发布:淘宝千里眼在线人数 编辑:程序博客网 时间:2024/05/17 04:49

第一版:直接单位为“”来比较用的是parseFloat,然后尴尬的是这个居然自带精度;

比如:

var i = 0.07; i = i*100; parseFloat(i)7.000000000000001

导致用户明明账户余额跟账单金额一致,还提醒他余额不足,就是因为多了这个精度!!!



第二版:换成“分”来比较用的是parseInt,然后又有尴尬的事情了,360浏览器某版本和谷歌浏览器某版本居然返回true;

parseInt(amount)<=0||parseInt(amount)<parseInt(orderAmount)





第三版:还是分为单位这次用Number,目前测试了下,没什么问题;然后就Number的最大长度也找了下:

Number.MAX_VALUE — JavaScript可表示的最大值,最大值为1.7976931348623157e+308-Number.MAX_VALUE — JavaScript可表示的最小值Number.NEGATIVE_INFINITY — 负无限接近于0,溢出时返回该值


呃呃呃,还需要等发版后看是否还存在问题,我们拭目以待~奋斗


===============================================================================================

已经绝望了,有TM碰到一个奇葩的数字




导致我在比较金额的时候又true了,这TM的,我就跳不出这个圈了!!!!



看来在js端做数字的比较水太深了~~~~~~~~~~~~~~~~~~~~~



还是要换成java后台做判断了!!!!’

0 0
原创粉丝点击