2012-03-29 27 views
0

我正在尋找最好的方式來str_pad漂浮在php中。str_pad在php中使用float嗎?

我遇到的問題是,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 – 2012-03-29 17:19:40

回答

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 2012-03-29 17:20:53

+0

是的。他的確會。 – akond 2012-03-29 17:23:24