2012-05-01 7 views
-5

PHPで3.0000000054978E+383.00のように数値を作るには?2桁の浮動小数点数の保持方法(PHP)

多くの感謝!

+2

'ラウンド()'それのhttp:// us3.php.net/manual/en/function.round.php –

+5

待ってください、3.0XE + 38が非常に大きいですか? –

+1

「3.0000000054978E + 38」を「3.00」にする基準を共有していません。通常これは乗算/除算で行われます。 – hakre

答えて

1

round($floating_number, 2)のように、roundを使用できます。

+0

ちょうど興味がありません、number_format(3.0023123121、2)でこれの利点は何ですか? – SpaceBeers

+0

'number_format'は小数点以下桁数を強制します。実際にはこの場合に使用するほうがよいかもしれません:P –

+0

Ta。 – SpaceBeers

1

必要に応じて、指定された小数点以下の桁数が常に表示されます。

sprintf('%0.2f', 3.0000000); 

表示すると、3.00と表示されます。

2

roundは科学的表記の数値なので、これを解決することはできません。ただし、substrを使用することができます。

あなたの数のごく一部を探している場合は
$i = 3.0000000054978E+38; 
$i = substr($i, 0, 2); // $i is now the string 3.00 
echo(number_format($i+1,2)); // Will output 4.00 
+0

私のエラーを指摘するための+1。 – SpaceBeers

+0

ラウンドは科学記法のために機能します。丸と浮きには何も問題ありません。 – hakre

+0

'$ i = 3.0000000054978E + 38; echo(round($ i、2)); 'それは3.00ではなくWindows上で3.0000000054978E + 38を出力します。 –

2

がフォーマットされた形で出力されている:

$number = 3.0000000054978E+38; 
printf('%.2f', $number/1E+38); # 3.00 
+0

+1、substrを使うよりも良い –

+0

私はそれがTSの目ではうまくいくかどうかは分かりませんが、Acubiが特に探しているものはまだ定義されていません。 – hakre

関連する問題