需要一點點幫助從形式轉換字符串整數
我
$_POST["zapremina"]=2000;
$_POST["starost"]="15%";
$_POST["namena"]="50%";
我想簡單的函數來做到這一點
$foo=(2000 - 15%) - 50%;
如何做到這一點?
需要一點點幫助從形式轉換字符串整數
我
$_POST["zapremina"]=2000;
$_POST["starost"]="15%";
$_POST["namena"]="50%";
我想簡單的函數來做到這一點
$foo=(2000 - 15%) - 50%;
如何做到這一點?
像這樣:
$starostPercentage = (substr($POST["starost"], 0, -1)/100);
$namenaPercentage = (substr($POST["namena"], 0, -1)/100);
$foo = ($_POST["zapremina"] * (100 - $starostPercentage)) * $namenaPercentage;
這就是這樣做,爲什麼:
15%
)以十進制形式(substr(15%)
= 15
,15/100
= 0.15
)。$foo
。 2000 - 15%
是你會寫的(作爲一個人),但是在PHP中,你需要將它寫爲2000 * (100 * 0.15)
,意思是:2000年的85%)。您不考慮'$ _POST [「zapremina」]'。另外,它會導致:'(2000 * 15)-50' – Shikiryu
修復它,謝謝! –
我會去這個:
$zap = intval($_POST['zapremina']);
$sta = intval($_POST['starost']);
$nam = intval($_POST['namena']);
$foo = ($zap * ((100-$sta)/100)) * ((100 - $nam)/100)
添加此功能,然後調用它
function calculation($a, $b, $c)
{
$b = substr($b, 0, -1)/100;
$c = substr($c, 0, -1)/100;
return (($a * $b) * $c);
}
,現在你可以調用
$foo = calculation($_POST["zapremina"], $_POST["starost"], $_POST["namena"]);
去功能最時間,因爲這對重用性會有幫助。
PHP是弱類型,所以你不必投類型的顯式或做無謂的操作(例如,str_replace函數)
你可以做到以下幾點:
$z = $_POST["zapremina"]; //$_POST["zapremina"]=2000;
$s = $_POST["starost"]; //$_POST["starost"]=15%;
$n = $_POST["namena"]; //$_POST["namena"]="50%;
$result = (($z - ($z *($s/100))) - ($z * ($n/100)));
一定要記得用括號有一個可讀的代碼和有意義的var名稱。
它是'$ _POST [「zapremina」] =「2000」; $ _POST [「starost」] ='15%'; $ _POST [「namena」] =「50%」;'? – Shikiryu
要將一個字符串轉換爲一個整數,您只需要'$ a =(int)$ b;' – fedorqui