PHP sprintf для значений широты и долготы, используйте% f или% d или% F или что-то еще? - PullRequest
4 голосов
/ 21 февраля 2012

Этот заголовок вопроса немного длиннее, чем я предполагал, но мне интересно, какой символ% лучше всего использовать для sprintf, например:

sprintf("Show lat=%f AND lng=%f",$lat,$lng)

Где $lat и $lng - значения координат широты и долготы (соответственно), которые разбиты на переменные из $_REQUEST, то есть:

$lat = $_REQUEST['lat'];
$lng = $_REQUEST['lng'];

Примеры значений: test.php?lat=37.8019444&lng=-122.4327778


Как упоминалось ниже, спецификаторы типа для sprintf действительно перечислены в руководстве , но для тех, кто не знаком с описателями типов, описания параметров очень запутаны.Вот почему я задаю вопрос здесь.

1 Ответ

4 голосов
/ 21 февраля 2012

Если бы у меня было для форматирования значений в виде числа, мой выбор был бы %F:

F - аргумент обрабатывается как число с плавающей точкой и представляется какчисло с плавающей запятой (без учета локали).Доступно начиная с PHP 4.3.10 и PHP 5.0.3.

Представление, не поддерживающее локали, необходимо, потому что в противном случае европейское представление будет выглядеть, например, как xx,xxxxxx - вполне возможно, что значение дляваша цель.

Тем не менее, я не уверен, разумно ли вообще форматировать эти значения.В зависимости от того, для чего вы собираетесь их использовать, может иметь смысл просто передавать их в виде строк (разумеется, после экранирования от внедрения SQL).

...