2017-09-08 57 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)