从float转换为int时,float结果如何四舍五入为整数?从float转换为int时,float结果如何四舍五入为整数?
有时我在整数变量之间做了一些复杂的算术运算(包括乘法,除法等),并将结果再次转换为int。
实施例:
result = (int) ((int1 + int2) * int3/int4);
它发生,有时结果舍入到最接近的整数,其他时间,即使浮子结果是更靠近上面的一个,有时代替结果进行舍入的下整数向上或向下2个整数(即,如果结果是-150.69,则可能发生结果= -149)。
从float到int的转换有一定的规律,还是取决于大小写?
在此先感谢。
实施例:
int1 = 31;
int2 = -1366;
int3 = 50;
int4 = 1000;
结果应该是-66.75但返回的一个是-65。
请举一个例子(输入设定'int1' ...'int4')表现出您所描述的行为。 – 2013-04-23 14:01:00
所有的intn变量都是int吗?如果是这样,那么这里就没有浮点数了,我想你的问题真的是“整数除法是如何执行的”。 – interjay 2013-04-23 14:01:31
@interjay是所有的变量都是整数。 – aliants 2013-04-23 14:05:07