问题模块 | 框架类型 | 问题类型 | 操作系统 | 工具版本 |
---|---|---|---|---|
开发者工具 | 小程序 | Bug | Windows | 1.02.1812271 |
208.5*5.85=*.4999999999
网友回复
连胜:
浮点数的坑,不是小程序的产物,这个锅不是微信的,是JS的坑!在做PC端和普通H5时,照样会有这问题。
在小程序内,用到浮点数的场景也不少,最多的,应该是商品购买,单价0.9、9.9、19.9等,再乘于奇数,大概率出现楼主说的bug
建议自己在JS中四舍五入一下~
如果调用小程序的支付API,用户反馈一直支付失败,很可能是这个bug引起。支付的API会校验前端传入的价格,与服务端生成订单时的价格是否一致,不一致的话,肯定支付失败。
把你的头低下:
我这里有一种计算方式能解决正在全面测试
for(let i=80;i<160;i++){
for (let j = 19900; j <= 20000; j++){
if(j%5==0){
let b = i*5
let a = Math.round((j/ 100 * b).toFixed(2)) / 100 -----》这里是重点
// console.log(a)
// console.log(b)
let data = {
consumePrices: a,
price: b / 100,
amount: j/ 100,
listPirce: b / 100 + 2
}
}
}
}
卢霄霄:
完了完了,不止这么大的浮点数运算有问题,连 0.1+0.2这种都算不对了。。
不对啊。。你这个算得出来啊
208.5*5.85