在使用过程中发现 浮点类型 数据经过 json_encode 之后会出现精度问题
提交的数据
{
"pointarr": [
[121.39906525611879, 31.170743912433334],
[121.40255749225618, 31.171859263671436]
]
}
经过json_encode处理后返回的数据
{
"pointarr": [
[121.39906525612, 31.170743912433],
[121.40255749226, 31.171859263671]
]
}
简单点的方式将获取的数组中的数据转换为string类型,然后再使用json_encode返回。
function float2string($arr)
{
$newarr = array();
foreach ($arr as $one) {
$onearr = array(
(string)$one[0],(string)$one[1]
);
$newarr[] = $onearr;
}
return json_encode($newarr);
}