2017-09-30 12 views
-1

을 잃지 않고 소수 값을 절단하는이 어떻게 현재의 변수 PHP를 정밀

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

감사

+1

'round (16.380643111639415, 3); –

+0

문자열에서 float로 http://php.net/manual/en/function.sprintf.php 형식을 참조하십시오. – Peter

답변

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

구글은 그대로이지만 텍스트가 세 개의 소수로 반올림됩니다에 링크를 볼 수 있듯이.

+0

올바른 해결책을 알려 주셔서 감사합니다. – grigione

1

당신은 round 사용할 수 있습니다,하지만 당신은 정밀도를 잃게됩니다. 그 substr를 사용하여 다음

echo round(39.959082, 3); 

하지만를 작동하면 정밀도를 유지할 수있다.

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

39.959 
+0

예, 출력하고 싶습니다. Lat 39.959 Lng 16.380 Lat 39.959 연결 가능 – grigione

+0

@grigione Lng에 대해 동일한 작업을 수행 할 수 없습니까? – Ravi

+0

아아아,하지만이 모드에서는 몇 자리 소실 때문에 링크 정확도가 떨어 집니까? – grigione