2014-04-23 34 views
0

比方說,如果我有一個給定數量的47.50我怎麼能只允許有10個位數的整數和6小數這樣這樣0000000047.500000 或給出一個例子:3475.95這個0000003475.950000十進制數只有10位數的整數和6小數?

//是好的使用str_pad?我怎麼用它?

$amount = str_pad(3475.95, 10, '0', STR_PAD_LEFT); 
+0

使用[sprint()](http://www.php.net/manual/en/function.sprintf.php )而不是 –

+0

我怎樣才能實現這與衝刺也dcimals? – Uuid

+1

'$ amount = sprintf(「%016.6f」,3475.95);' –

回答

0

不是最優雅的方法,但是,嘿,我們正在談論的腳本,對不對?

<?php 
$value = 47.56; 
echo sprintf('%s.%s', 
      str_pad((int)$value, 10, '0', STR_PAD_LEFT), 
      str_pad(substr($value-(int)$value,2), 6, '0', STR_PAD_RIGHT)); 
?> 

對不起,無法抗拒。但顯然Mark Ba​​ker在他的評論中指出了正確的解決方案:sprintf("%016.6f", 3475.95); ...