2016-01-04 80 views
0

好了,所以我有这些变量...获取数字的百分比。 PHP

$_SESSION['costTotal'] = $costTotal; 
    $_SESSION['msTotal'] = $msTotal; 
    $_SESSION['chargeTotal'] = $chargeTotal; 
    $_SESSION['allowTotal'] = $allowTotal; 
    $_SESSION['esProfit'] = $esProfit; 
    $_SESSION['inPay'] = $insurancePer; 
    $_SESSION['exIncome'] = $_SESSION['allowTotal'] * $_SESSION['inPay']; 
    $_SESSION['abCost'] = ($_SESSION['allowTotal'] * $_SESSION['inPay']) * '0.05'; 
    $_SESSION['profit'] = $_SESSION['exIncome'] - ($costTotal + $_SESSION['abCost']); 
    $_SESSION['proPerc'] = $_SESSION['profit']/$allowTotal; 

好吧,这么说我的利润是590.0052和我AllowTotal是2130.27

现在我要打印

$_SESSION['proPerc'] 

时我这样做,我得到这个号码

0.27696263853878 

我想它只有零后和圆形显示他们的数字..

,所以我想0.27696263853878变成27.70%

我如何格式化我的代码来实现这一目标?

+3

乘以100,并使用[number_format()](http://www.php.net/manual/en/function.number-format.php)或[sprint()](http:// www。 php.net/manual/en/function.sprintf.php) –

+0

@MarkBaker这是有效的,但它是四舍五入到28 ..这是不正确的..我只希望它圆到27.70% – Kmiles1990123

+0

去bcmul($ _SESSION [ 'proPerc'],100,2); – narasimharaosp

回答

0

太感谢您@马克·贝克和@Andrew和@narasimharaosp

他们都只是把不同的词语正确的答案。

number_format(0.27696263853878 * 100, 2) 

或者再次使用

round(bcmul($_SESSION['proPerc'],100,2), 1, PHP_ROUND_HALF_EVEN); 

谢谢你们。