遇到一个很坑的问题
数值做float类型转换之后,经过运算之后得到了
'amount' => 110.00000000000001,
与数据库的数据进行比较导致不匹配,
这个属于PHP底层的运算问题,注意float运算的精确度,对于精确度要求很高,运算处理要谨慎处理
解决方案,不使用强制转换,使用精度的运算函数
高精度的处理包括+,-,*,/等都不使用符合运算
应该使用bcadd()等函数,可以让数的精度更加准确
遇到一个很坑的问题
数值做float类型转换之后,经过运算之后得到了
'amount' => 110.00000000000001,
与数据库的数据进行比较导致不匹配,
这个属于PHP底层的运算问题,注意float运算的精确度,对于精确度要求很高,运算处理要谨慎处理
解决方案,不使用强制转换,使用精度的运算函数
高精度的处理包括+,-,*,/等都不使用符合运算
应该使用bcadd()等函数,可以让数的精度更加准确