2013-02-05 51 views
0

請幫我使用數字格式在php 例如 我有一些計算,如a + b = c我想在php中的答案爲999.99格式我已經閱讀了number_format,sprintf但它的沒有用。請給我一些有用的想法。我的最終結果應該是999.99格式。數字格式在PHP 999.99

+0

什麼是a,b? – swapnesh

+0

a,b,c是樣本數字,如1 + 2 = 3我希望結果3以999.99格式顯示,或者您可以以003.00格式表示。另一個例子10 + 1 = 11那麼它應該是011.00格式。 – rss

回答

11

%的「無用」的文件:

$num = 999.98353; 
$num = number_format($num, 2, '.', ''); 

如果你花時間去真正read the documentation,也有相關的例子。

+2

根據'沒有用'的文件:+1 –

+0

如果a + b = c,即使c是一個帶有小數點的單/雙數字(例如1,2,5等),我應該顯示c爲00c.00如果它的單個數字,或者0cc.00,如果它的兩位數字,並且它的三位數字不需要在數字之前加一個零。我希望我的問題能達到你。我想以加拿大貨幣格式顯示我的總額。請幫助我在這方面的貨幣格式 - – rss

+0

number_format是否形成你。或者,請參閱http://php.net/manual/en/function.money-format.php。閱讀文檔。 。 。 – Julio

1
$num = 999.98353; 
$num1 = 10; 
$num2 = $num + $num1; 
echo number_format($num2, 2, '.', ''); // output 1009.98 
+0

如果a + b = c,即使c是一個帶有小數點的單個/兩位數字(例如1,2,5等),我應該顯示c爲00c.00(如果它的單個數字)或0cc.00(如果其爲兩位數字,如果其三位數字不需要在數字前加一個零。我希望我的問題能達到你。我想以加拿大貨幣格式顯示我的總額。請幫助我在這方面的貨幣格式 – rss

1

試試這個

$a = 500.3755; 
$b = 600.9855; 
$c = $a + $b; 
echo number_format($c, 2, '.', ''); //1101.36 
echo number_format($c, 2, '.', ','); //1,101.36 
3

除了number_format,您可以用sprintf

$a = 999; 
$b = .99; 
$c = $a + $b; 
echo sprintf('%03.2f', $c); // 999.99 
+0

a,b,c是樣本數字像1 + 2 = 3我希望結果3以999.99格式顯示,或者你可以說在003.00格式。另一個例子10 + 1 = 11那麼它應該是011.00格式。 – rss

+0

使用str_pad左邊填充零到所需的長度:'$ a = 1; $ b = 2; $ c = $ a + $ b; echo str_pad(sprintf('%2f',$ c),6,「0」,STR_PAD_LEFT); // 003.00' – dryer70

+0

非常感謝你的回覆。這真的幫了我很大的忙。我做了另一種方法,它的工作,$ a = 1; $ b = 2; $ c = $ a + $ b; $ final_result =(strlen(number_format((float)$ c,2,'。',''))<6)? '0'.number_format((float)$ result,2,'。',''):number_format((float)$ result,2,'。',''); echo''。$ final_result。'';數字可以是單倍或雙倍,它會給出所需的結果,即999.99格式。謝謝你的時間。這是一個很大的幫助。 – rss

1

您可以使用

$c = sprintf('%0.2f',$a)+sprintf('%0.2f',$b); 

或者你也可以試試:

$c = $a+ $b; // If $c = 999.9999 
$c = substr($c, 0, 2); // $c is now the string 999.9999 
echo(number_format($c-1,2)); // Will output 998.99 
+0

如果a + b = c,即使c是一個帶有小數點的單個/兩位數字(例如1,2,5等),我應該顯示c爲00c.00(如果它的單個數字)或0cc.00(如果其爲兩位數字,如果其三位數字不需要在數字前加一個零。我希望我的問題能達到你。我想以加拿大貨幣格式顯示我的總額。請幫助我在這方面的貨幣格式 – rss

+0

我做了另一種方法,它的工作,'$ a = 1; $ b = 2; $ c = $ a + $ b; $ final_result =(strlen(number_format((float)$ c,2,'。',''))<6)? '0'.number_format((float)$ result,2,'。',''):number_format((float)$ result,2,'。',''); echo''。$ final_result。'';'數字可以是單個或雙倍,它會給出所需的結果,即999.99格式。謝謝你的時間。這是一個很大的幫助。 – rss

1
 

    $a = 1234.5678; 
    $b = 1234.5678; 
    $num = round(($a + $b), 2); 
    echo number_format($num, 2, '.', ','); 

number_format工作,嘗試張貼你的一些代碼。

+0

如果a + b = c,即使c是帶小數點的單個/兩位數字(例如1,2,5等),如果其單個數字顯示c爲00c.00,或者如果其爲0cc.00兩位數字,如果其三位數字不需要在數字前加一個零。我希望我的問題能達到你。我想以加拿大貨幣格式顯示我的總額。請幫助我在這方面的貨幣格式 – rss