2012-08-02 87 views
0

我有一個關於php中變量類型的簡單問題。我在我的陣列兩個值:變量和值類型

$row['DS'] // type :float (with one decimal like 12.2) 
$row['TC'] // type :float (with one decimal like 24.2) 

什麼實際上,我嘗試在下面作上述計算的事情:

$row['TC']/$row['DS'] // $row['DS'] need to be as integer (without point,like 12) 

,結果應該與兩個小數像(2.32)。我試圖這樣做

$DSF = number_format($row['DS'],0); 
$ConF = $row['TC']/$DSF ; 
echo number_format($conF,2); 

但它返回錯誤的結果。例如:

$row['DS'] = 59,009.3 ---> after change the format is change to 59,009 
$row['TC'] = 190.0 
$ConF = 190.0/59,009 

應該是000.223(約這個數字的東西),我希望得到0(後我使用number_format($conF,2)更改格式,但不是這個程序返回我數3.22 我在做什麼錯了嗎?

回答

1

功能number_format()用於數字格式爲逗號風格的表示,而不是實際數字舍入到你想要的東西。

你正在尋找的功能是round它返回一個float到指定號碼小數位數

例如:

$yourVar=round($row['TC']/$row['DS'],2); 

這意味着$yourVar將分割的值舍入到小數點後兩位。

您應該使用number_format()函數僅在最後顯示人性化的數字。

0

您可以使用type casting轉換$row['DS']integer就在你的計算,例如: -

$row['TC']/(int)$row['DS']

$row['TC']/intval($row['DS'])