2013-02-05 37 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