想在输出的 json 里 输出 float 数据,可发现 浮在均衡中的一台机器 不论怎么操作都丢失精度 eg
echo json_encode([
'x'=>1.71,
'xx'=>3.45,
'xxx'=>2.59,
'xxxx'=>2.47,
'xxxxx'=>0.01,
]);
有问题的机器
{"x":1.71,"xx":3.4500000000000002,"xxx":2.5899999999999999,"xxxx":2.4700000000000002,"xxxxx":0.01}
其他机器输出
{
"x": 1.71,
"xx": 3.45,
"xxx": 2.59,
"xxxx": 2.47,
"xxxxx": 0.01
}
也尝试了
function priceFormat($num)
{
return (float)sprintf("%.2f",$num);
}
function priceFormat($num)
{
return floatVal(sprintf("%.2f",$num));
}
都不行
有人知道是什么原因吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.