2012-03-29 30 views
0

私はstr_padに浮かぶ最善の方法をPHPで探しています。PHPで浮動小数点数を持つstr_pad?

問題は、str_padは文字列の長さを考慮していますが、浮動小数点があります。ゼロで埋められた数字が必要な場合、これは少し悪夢になります。

たとえば、小数点以下の数字が常に6つ以上必要な場合は、結果が変更されるとstr_padとすることはできません。

$i = 1.0; 
echo str_pad($i, 8, '0'); // 1.000000 
$i = 10.5 
echo str_pad($i, 8, '0'); // 10.50000 ## ONLY PADDED WITH 5 NUMBERS AFTER DECIMAL 

は、私は私はできexplodeその後、str_padを知っていて、そのように行うが、ちょうどこのまたは任意のより良い方法を機能で構築されたPHPがあった場合は疑問に思いました。

+0

http://php.net/manual/en/function.number-format .phpまたはhttp://php.net/manual/en/function.sprintf.php –

答えて

2

使用number_format

echo number_format($i, 6); // 6 decimals 

あなたはまた、自動的に区切り、スペースなどを追加することができます

number_format($number, 2, ',', ' '); // 1 234,56 

Documentation

2

私はあなたの代わりに

printf ("%.06f", $i); 

を試みるべきだと思います。

+0

彼がおそらく 'sprintf'の値を返すためには、 – Cfreak

+0

が正確です。彼は確かになります。 – akond

関連する問題