2017-08-06 2 views
-1

PHPで小数点の前にゼロを追加するにはどうすればよいですか?数値の小数点の前にゼロを加算する

は私のPHPコードで今すぐ0.96

.96を変換したい、私はワードプレスget_attributeを使用してデータをフェッチしてい

<td><?php echo $_product->get_attribute('pa_carat');?></td> 
+1

[PHPにおける先行ゼロの数をフォーマット]の可能な重複(https://stackoverflow.com/questions/1699958/formatting-a-number-with-leading-zeros-in -php) – jordiburgos

+0

OPは上のリンクを見てください。数字の書式を選択すると、長期的には頭がおかしくなります。 – Andreas

+0

ここにsprintfも含まれています。 floatvalだけが毎回正しい値を生成します。 https://3v4l.org/opkMj – Andreas

答えて

-1

したい機能がnumber_format

echo number_format(0.96, 2); 

です代わりに、見つからない場合はそれをチェックして前に付けることもできます。

if ($num[0] == '.') 
    $num = '0' . $num; 

これは負の数値を扱うことはありませんが、そのために少し論理を書く必要があります。文字列のfloat値を返します

+0

何を!私はフォーラムでnumber_formatを読んでいましたが、10進数の後ろにゼロが追加されています。ありがとうございますGeoffrey –

+0

答えは正しいです、私は自分自身に@アンドレアスの答えを好むが、それはあまり正確ではないこの方法を作ることはありません。また、プリペンドオプションは約10倍高速でキャストして浮動小数点数に変換します。なぜ下の票? – Geoffrey

+0

@Geoffrey 'また、プリペンドオプションは約10倍速く、その後は浮動小数点型にキャストします。どうやってその結論に至りましたか?私が見る限り、彼らはかなり近いです しかし、浮動小数点数の追加の利点は実際に正しい値を毎回生成しています。番号の形式:https://3v4l.org/cFXoQ/perf#outputとfloatval:https://3v4l.org/A9LKK/perf#output。たとえfloatvalが10倍遅くても、正しい出力が得られます。スピードと誤った出力をどのように比較できますか? – Andreas