从浮点数转换为整数时,浮点数结果如何四舍五入?
有时我在整数变量之间进行了一些复杂的算术运算(包括乘法、除法等),并将结果再次转换为 int。
例子:
result = (int) ((int1 + int2) * int3 / int4);
有时结果会舍入到最接近的整数,有时会舍入到下一个整数,即使浮点结果更接近于上一个整数,有时结果会向上或向下舍入 2 个整数(即,如果结果是-150.69 可能发生结果 = -149)。
从 float 到 int 的转换有一些规律,还是取决于具体情况?
提前致谢。
例子:
int1 = 31;
int2 = -1366;
int3 = 50;
int4 = 1000;
结果应该是-66.75,但返回的是-65。