從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