如何在不丢失精度的情况下截断十进制值

时间:2017-09-30 14:48:31

标签: php decimal truncate

我有当前变量php:

$latlng = "<a href='http://www.google.com/maps/place/".$lat.",".$lng."/@".$lat.",".$lng.",".$zoom."' target='_blank'>Lat ".$lat." Lng ".$lng."</a>";

echo输出如下例所示:

Lat 39.959146953575164 Lng 16.380643111639415

我想截断它,所以最后我希望得到以下结果:

Lat 39.959 Lng 16.380

我尝试过以下代码,但只剪切了最后一部分:

$cut_string = substr($latlng,0,strpos($latlng,'</a>')-12);
echo "$cut_string <br/>\r\n";

Lat 39.959146953575164 Lng 16.380

由于

2 个答案:

答案 0 :(得分:1)

你可以使用round,但你会失去精确度。如果有效,那么

echo round(39.959082, 3);

但是,使用substr,您可以保持精确度。

$lat = "39.959082";
echo substr($lat,0,strrpos($lat,'.')+4);

将显示

39.959

答案 1 :(得分:1)

我想我理解你的问题 您希望链接具有完全精确但易于阅读的链接文本?

这应该是你需要的:

$latlng = "<a href='http://www.google.com/maps/place/".$lat.",".$lng."/@".$lat.",".$lng.",".$zoom."' target='_blank'>Lat ".round($lat,3)." Lng ".round($lng,3)."</a>";

正如您所看到的,谷歌链接完好无损,但文字四舍五入到小数点后三位。