1.15 * 100 // 115 correct
(int)(1.15 * 100) // 114 incorrect
intval(1.15 * 100) // 114 incorrect
floor(1.15 * 100) // 114 incorrect
floor(1.1501 * 100) // 115 correct
我尝试切断第二个字符后的分数部分,然后将其转换为整数。事实证明有一个错误。告诉我如何正确翻译。
var_dump( 1.15 * 100 );
输出一个浮点 - 未修改。
var_dump( (int)(1.15 * 100) );
输出一个int-上方转换为int的浮子,即使在似乎相同的数字上也是舍入的。
$var1 = (string)(1.15 * 100);
var_dump( (int)($var1) );
您需要先将浮子转换为字符串,然后转换为int。
编辑:或单行答案:intval(strval(1.15 * 100))