前提
- 产品单位精确到6位小数
- 生产制造模块,重写了完成的方法,在点击完成的时候报错如下:
(解释下:就是很奇怪,明明都是必填字段,也都赋值了但是就是拿不到值)
原因
如下图所示,最后找到是这个if
没有通过,导致值为空的。
通过print
,发现视图上的数据显示如下,都是232.05。
但是,程序中打印出来的结果,会有精度的不同,一个是232.05,一个是232.04999999999998。
经验:比较数值大小的时候,需要在同一精度下。
问题
什么情况下,数值出来的是跟视图一样的,什么情况下会出现精度问题?