Как усечь десятичное значение без потери точности

У меня есть текущая переменная php:

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

Вывод эха в следующем примере:

Лат 39.959146953575164 Lng 16.380643111639415

Я хочу обрезать его, поэтому в конце я хочу иметь следующий результат:

Лат 39,959 Lng 16,380

Я пробовал следующий код, но он вырезал только последнюю часть:

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

Лат 39.959146953575164 Lng 16.380

Спасибо

-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>";

Как видите, ссылка на Google не повреждена, но текст округляется до трех знаков после запятой.

1

Другие решения

Вы могли бы использовать round, но вы потеряете точность. Если это работает, то

echo round(39.959082, 3);

Но, используя substrВы могли бы поддерживать точность.

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

будет отображать

39.959
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector