最进在对接国外国家支付的时候,验证签名是发现PHP隐式类型转换的坑,感觉还挺有意思,特分享出来,估计这种情况应该很少有人遇到吧
问题
PHP 在浮点型转换为字符串类型是,如果浮点数据为 0.0
1.0
x.00
的时候,在转换成字符串时会丢失小数点后面的 0
PS:隐式的类型转换也同样如此,所以就引申出了一个问题,当你在不知道浮点数据小数点后有几位数[末尾带0的],你就没法转换成 末尾带有正确个数的 0
的字符串, 是不是很有意思,手动🐶,哈哈
1 |
|
解决
我这边的解决方案就是确认了小数点后固定的位数,其他方案暂时没找到,有知道的大佬可以分享下。