微信公开课
微信公开课小程序热门讨论关于「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」的小程序开发问题
补充:2085585=4999999999微信者回复开发者回复浮点数的坑,不是小程序的产物,这个锅不是微信的,是JS的坑在做PC端和普通H5时,照样会有这问题在小程序内,用到浮点数的场景也不少,最多的,应该是
展开:2085*585=*4999999999即速小程序:浮点数的坑,不是小程序的产物,这个锅不是微信的,是JS的坑在做PC端和普通H5时,照样会有这问题在小程序内,用到浮点数的场景也不少,最多的,应该是商品购买,单价09、99、199等,再乘于奇数,大概率出现楼主说的bug建议自己在JS中四舍五入一下~如果调用小程序的支付API,用户反馈一直支付失败,很可能是这个bug引起支付的API会校验前端传入的价格,与服务端生成订单时的价格是否一致,不一致的话,肯定支付失败:这不是小程序的问题,包括在web端,js的浮点小数相加都会存在这种陷阱推荐你看看这个 js浮点数陷阱:parseFloat((2085*585)toFixed(10))原理:https:blogcsdnnetqq_38209578articledetails86084586:不光JS一门语言,凡是采用IEEE754标准定义表示数字的编程语言都有这个问题,只是其他语言有内部处理机制深层次原因可以参考http:030000000000000004com:这个循环我都惊了:这个问题是底层锅绝大部分语言都有此类问题,有些语言有专门处理的类型或者类可以和微信学把单位从元改为分,小数一律不保留解决问题就方便了:就是浮点数的保存你可以去看下数据类型的结构,这是没办法避免的,但是涉及到金钱的情况下,需要准确值,不允许有误差所以大部分情况下涉及金额的数值都用long型来保存,然后再显示的时候再做小数点的添加!:就像01+02=03一样的问题,是js的浮点数精确度问题:额,之前我做支付的时候都是每次算完都自己四舍五入一下的~~事实上,浮点数精确度问题,好多种语言都会有这问题的喔:建议取整来计算,比如*10*100*1000等
更多有关「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」的讨论可以前往微信公开课小程序参与互动哦!了解更多
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」
微信公开课小程序热门讨论「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「小程序四舍五入算法有问题,小数点后两位相乘乘不尽」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。