我正在开发一个地图,我必须在Parse数据库中保存这些参数:
纬度:20.6350。长:-103.5334
问题是当我将它们转换为数字时,该函数将20.6350转换为20.635。 ¿我能做些什么来保持最后的零?
答案 0 :(得分:1)
您应该指定sig figs并且它们将正确显示。
$lat = "20.6350";
$lng = "-103.5334";
print number_format($lat, 4); // 4 sig figs
print number_format($lng, 4);
有关其他格式信息,请参阅http://php.net/number_format
<强>更新强>
根据您上面的评论,您所拉的字符串看起来长度不一样,对吗?
为什么不在小数点后得到sig figs的数量,然后将其用作number_format()
中的第二个参数?我确信有一种更合适的方法可以处理,但我相信这会奏效。
// Calculate sig figs
$length = strlen($lng) - (stripos($lng, '.') + 1);
number_format($lng, $length);
或一行
number_format($lng, strlen($lng) - (stripos($lng, '.') + 1));
答案 1 :(得分:0)
如果您想在数据库中使用带有四位小数的数字,则可以使用十进制类型。在长度下,您可以输入 6,4 ,表示总共最多6位数,后面点4位数。
如果要在PHP中显示数字,可以使用number_format()函数
echo number_format($longitude, 4);