字符串转换成数字不失小数(Convert strings to numbers without lo

2019-10-23 06:50发布

我正在开发一个地图,我要节省解析数据库此参数:

年:20.6350。 龙:-103.5334

问题是,当我将它们转换成数字,该函数转换20.6350至20.635。 ¿我可以为了TU做些什么保留最后的零?

Answer 1:

你应该指定信号图,他们会正确显示。

$lat = "20.6350";
$lng = "-103.5334";

print number_format($lat, 4); // 4 sig figs
print number_format($lng, 4);

见http://php.net/number_format为其他格式信息

UPDATE

基于以上您的意见,似乎你拉弦的长度变化,正确吗?

为什么不干脆让SIG的无花果量的小数点后然后使用它作为第二个参数number_format() 我敢肯定有来处理更合适的方式,但这样的工作,我相信。

// Calculate sig figs
$length = strlen($lng) - (stripos($lng, '.') + 1);
number_format($lng, $length);

或者在一个线

number_format($lng, strlen($lng) - (stripos($lng, '.') + 1));


Answer 2:

如果你想在你的数据库四位小数的数字,你可以使用十进制类型。 在长度 ,你可以进入总6,4代表最大的6位数字和点后面4个位数。

如果你想显示在PHP中您可以使用number_format数()函数

echo number_format($longitude, 4);


文章来源: Convert strings to numbers without losing decimals