2012-02-21 9 views
3

この質問のタイトルは少し長く、私が意図したものよりもですが、私はこのような何かのために、sprintfに使用する最適な%文字何思ったんだけど:緯度経度の値のPHP sprintfは、%fまたは%dまたは%Fなどを使用しますか?

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ための型指定子は確かにmanualに記載されていますが、型指定子に慣れてない人のために、パラメータの説明は、私が求めています理由です...非常に混乱していますここでの質問。私が数などの値をフォーマットするを持っていた場合

+0

値はどのような形式ですか?あなたは例を見せてもらえますか? –

+0

$ latと$ lngは、$ lat = 37.8019444など、$ _REQUESTに由来する緯度と経度の標準的な値です。 $ lng = -122.4327778。更新済みを参照してください。 – ina

+0

(変数のソースで更新) – ina

答えて

3

、私の選択は%F次のようになります。

F - 引数を浮動小数点数としてfloatとして扱われ、提示された(非ロケール対応)。 PHP 4.3.10およびPHP 5.0.3以降で利用可能です。

ヨーロッパ以外の表現は、たとえばxx,xxxxxxのようになります。意図した目的のために値を破っている可能性があります。

つまり、これらの値を書式設定するのが賢明かどうかはわかりません。どのようなものを使用するかに応じて、文字列として渡すだけで意味があるかもしれません。

+0

ロケール対応の設定はどのように決定されますか? – ina

+1

経度と緯度にロケール対応の関数を使用してバグが発生しましたが、かなり時間がかかりました。私から+1! –

+0

また、浮動小数点精度とは何ですか? %Fは10進数で6桁だけですか? – ina

関連する問題