The comments are the output of this line. You can see that when the single digits of the floating point number are 6, 7, 8, or 9, the output results are not as expected.
var_dump(intval("10.40"*100)); // 1040
var_dump(intval("11.40"*100)); // 1140
var_dump(intval("12.40"*100)) ; // 1240
var_dump(intval("13.40"*100)); // 1340
var_dump(intval("14.40"*100)); // 1440
var_dump(intval("15.40" *100)); // 1540
var_dump(intval("16.40"*100)); // 1639
var_dump(intval("17.40"*100)); // 1739
var_dump(intval ("18.40"*100)); // 1839
var_dump(intval("19.40"*100)); // 1939