I’m complete new to PHP. I tried to make a simple calculation script. The problem I’m facing is that when someone inputs a number like “98,7” the number is rounded to “99” and the script prints out “99” instead of “100”. So my questions is how to deal with this.
My script:
if($omtrek >=53 && $omtrek <=57) $omtrek=55;
elseif($omtrek >=58 && $omtrek <=62) $omtrek=60;
elseif($omtrek >=63 && $omtrek <=67) $omtrek=65;
elseif($omtrek >=68 && $omtrek <=72) $omtrek=70;
elseif($omtrek >=73 && $omtrek <=77) $omtrek=75;
elseif($omtrek >=78 && $omtrek <=82) $omtrek=80;
elseif($omtrek >=83 && $omtrek <=87) $omtrek=85;
elseif($omtrek >=88 && $omtrek <=92) $omtrek=90;
elseif($omtrek >=93 && $omtrek <=97) $omtrek=95;
elseif($omtrek >=98 && $omtrek <=102) $omtrek=100;
elseif($omtrek >=103 && $omtrek <=107) $omtrek=105;
elseif($omtrek >=108 && $omtrek <=112) $omtrek=110;
elseif($omtrek >=113 && $omtrek <=117) $omtrek=115;
elseif($omtrek >=118 && $omtrek <=122) $omtrek=120;
elseif($omtrek >=123 && $omtrek <=127) $omtrek=125;
elseif($omtrek >=128 && $omtrek <=132) $omtrek=130;
elseif($omtrek >=133 && $omtrek <=137) $omtrek=135;
elseif($omtrek >=138 && $omtrek <=142) $omtrek=140;
if ($omtrek < 53){
print 'Helaas';
}
elseif ($omtrek > 142){
print 'XXL';
}
elseif ($omtrek = round($omtrek)){
print("maat: " . $omtrek . "<br/>");
}
You’re trying to round to the nearest “5” instead of “1”. So, we can use that to greatly simplify what you’re doing:
That replaces your gigantic if statement tree. So your entire code boils down to:
Additionally, as for your original point, that should be handled by your if structure, since
98.7falls within one of the conditions.