1问题:json_decode() 在处理接口返回的大数字时候会转换为float类型保存造成精度损失
我的目标是原样取出json中的数字保存为字符串
2.问题代码示例:
$str = '{"bignumber":111111111111111111}';
$array = json_decode($str , true);
echo number_format($array['bignumber'], 0, '', '');
//输出111111111111111104
1问题:json_decode() 在处理接口返回的大数字时候会转换为float类型保存造成精度损失
我的目标是原样取出json中的数字保存为字符串
2.问题代码示例:
$str = '{"bignumber":111111111111111111}';
$array = json_decode($str , true);
echo number_format($array['bignumber'], 0, '', '');
//输出111111111111111104
还是没养成查手册的好习惯, 官方手册
不求甚解的我,不知道后面还有第三个和第四个参数...
$array = json_decode($str , true,512,JSON_BIGINT_AS_STRING);
解决了问题
1 回答4.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答853 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答717 阅读✓ 已解决
你为什么要用
number_format
?你直接取$array['bignumber']
不就好了?我看你也没保留小数点