php中float转int精度丢失的问题
今天遇到一个问题,$19.99转换为内部货币时的比例是1:100,所以乘以100,结果是1999,但是订单信息描述中将数据转换为int(不确定, 因为里面是将含有该float数值字段的数组做json_encode处理的)时,数值变为了1998。原来float和int在计算机的二进制存储方式不同,参考:https://www.cnblogs.com/ClassNotFoundException/p/6198805.html。
解决方法:先使用strval()转为字符串,再使用intval(),官方文档推荐的方案
还有一篇鸟哥的文章