我有一個簡單的計算器腳本來計算Facebook的見解。用PHP舍入劃分變量
我的腳本中有一個名爲fb_growth的函數,我在這裏傳遞兩個參數:一個用於當前月份的數據($ moc)和一個用於上個月的數據($ mop),我試圖找到增長百分比(正數或負數)。這裏是我的函數腳本:
//Growth Calculator Function
function fb_growth($moc, $mop) {
if($moc>=$mop) {
$grp = ($moc/$mop);
$grf = ($grp - 1);
return $grf;
}
else if($moc<$mop) {
$grp = ($mop/$moc);
$grf = (1 - $grp);
return $grf;
}
}
我輸入的值來自用戶填寫的表單。在這種特殊情況下,傳入的數字是fb_growth($fbfi1, $fbfi2);
,其中$ fbfi1等於字符串'1719223',$ fbfi2等於字符串'1859867'。在這種情況下,$ moc小於$ mop,所以1719223除以1859867,這應該返回1.08180672315,而是返回1,然後減1,得到0.我想結束的是' - .08180672315',這將是我的增長百分比,但我無法讓它給我這個結果。如果我echo ("1859867"/ "1719223");
然後我得到1.08180672315,但是當字符串變量的舉行,我echo ("$fbfi2"/"$fbfi1");
然後我得到1
我試過的setType()爲雙和$ GRF和兩個$ fbfi1 & 2的int和相同的結果。如果我將$ grf設置爲全局並回顯gettype(),它會給我double或int,但我仍然得到相同的值:0.是否有我可以在我的php設置中調整此值,或者是否存在我的設置有問題?我找不到任何文檔。幫助非常感謝,謝謝!
好了,所以我已澆鑄$ fbfi1和2個與浮子(浮子)$ fbfi1 = $ _POST [ 'pvm1'];它在表單中設置值,以及在函數中將$ grp和$ grf轉換爲浮點數,但我仍然得到相同的結果。 – 2012-03-10 12:43:42
我的代碼現在看起來像這樣//增長計算器功能 \t \t \t功能fb_growth($ MOC,$ MOP){ \t \t \t \t如果($ MOC> = $ MOP){ \t \t \t \t \t(浮點) $ grp =($ moc/$ mop); \t \t \t \t \t(float)$ grf =($ grp - 1); \t \t \t \t \t return $ grf; \t \t \t \t \t} \t \t \t \t ELSEIF($ MOC <$拖把){ \t \t \t \t \t(浮點)$ GRP =($拖把/ $ MOC); \t \t \t \t \t(float)$ grf =(1 - $ grp); \t \t \t \t \t return $ grf; \t \t \t \t \t} \t \t \t \t}從上面的評論也爲 – 2012-03-10 13:30:13
通過你仍然在做整數divison參數的代碼。其中一個操作數必須是float。 – 2012-03-11 00:35:22