There was我的问题(最初不太准确):
我需要在JSON字符串中使用PHP浮点数。代码:
$obj['val'] = '6.40';
json_encode($obj);
转换为:
{"val": "6.40"}
没关系 - 我有字符串值' 6.40'在PHP和我有字符串值" 6.40"在JSON。
如果我需要使用花车,情况就不那么好了:
$obj['val'] = 6.40;
json_encode($obj);
转换为:
{"val": 6.4000000000000004}
但我需要:
{"val": 6.40}
如何在' json_encode'中将PHP浮点数转换为JSON数字?具有给定的精度?
答案 0 :(得分:0)
......这是我自己的答案:
<?php
$obj['val'] = 6.40;
$out = json_encode($obj);
echo $out; // {"val":6.4}
ini_set('precision', 17);
$obj['val'] = 6.40;
$out = json_encode($obj);
echo $out; // {"val":6.4000000000000004}
ini_set('precision', 2);
$obj['val'] = 6.40;
$out = json_encode($obj);
echo $out; // {"val":6.4}
这是@axiac的样本:
ini_set('precision', 4);
$obj['val'] = 1/3;
$out = json_encode($obj);
echo $out; // {"val":0.3333}