2017-09-08 97 views
0

我想檢查一個數是奇數或沒有,但算術運算符%總是返回0算術運算不工作PHP

$gst=($gst)*(100); // here $gst value is 155 after multiplication with 100 
if(($gst%2)== 1) 
{ 
    $gst_receivable=(($gst-1)/2); 
    $gst_expense=(($gst-1)/2)+1; 
} 
else 
{ 
    $gst_receivable=($gst)/2; 
    $gst_expense=($gst)/2; 
} 

https://3v4l.org/8FQUf 但上面的代碼總是返回並運行其他部分代碼。

+1

任何非小數乘以100始終是一個偶數。這裏你的$ gst變成偶數$ gst =($ gst)*(100); –

+0

先前值爲1.55,在乘以100後,它變爲155 – erdeepak

+0

echo($ gst%2)。「\ n」;返回1;所以你的價值觀即將到來77&78。 – Gunnrryy

回答

0

你需要round()變量之前做% 2它,因爲你的浮動可能仍然包含一些舍入問題。

因此改變

if(($gst%2)== 1) 

if(round($gst) % 2 == 1)