自(這裏小白)學習編碼,回答實踐問題如下:四捨五入浮動爲int
amount = (int) round (c);
凡c
是浮動。 可以肯定地說這行通過四捨五入將浮點數轉換爲整數嗎? 我試圖研究將浮點數轉換爲整數的方法,但沒有使用上面的語法。
自(這裏小白)學習編碼,回答實踐問題如下:四捨五入浮動爲int
amount = (int) round (c);
凡c
是浮動。 可以肯定地說這行通過四捨五入將浮點數轉換爲整數嗎? 我試圖研究將浮點數轉換爲整數的方法,但沒有使用上面的語法。
你應該看看round
的返回值。
如果它返回一個浮點數,那麼你的int
轉換不會失去精度,並將浮點數轉換爲int
。
如果它返回一個int
,那麼轉換髮生在函數中,並且不需要再嘗試轉換它。
這當然是,如果你真的想要整數。如果你想10.8
成爲11
,那麼你的代碼是一個可能的解決方案,但是如果你想要它變成10
,那麼只需將它轉換(轉換)爲int
即可。
將32位'float'轉換爲32位'int' _does_對於大於約2 ** 23的許多值丟失精度。 – chux
我只想做amount = int(c)
下面是一個完整的例子
amount = 10.3495829
amount = int(amount)
print(amount)
它應該打印10!
float具有比整數原始值更高的範圍,這意味着float大於int。由於這一事實,你可以只是一個浮動轉換爲int下澆鑄
int value = (int) 9.99f; // Will return 9
只要注意,這個類型轉換會截斷小數點後的一切,也不會執行任何舍入或地板操作價值。 正如你從上面的例子看到的,如果你的浮點數是9.999,(下)轉換爲整數將返回9。但是,如果需要四捨五入,則使用Math.round()
方法,該方法通過將float的值加上+0.5並將其截斷,將float轉換爲最接近的整數。
嗯..問題被標記爲'C' – bolov
多德學習Java中鑄造基本類型。這是非常基本的。請在堆棧溢出發佈這些類型的問題之前瀏覽。 – Popeye
目前我只做到'C',但會考慮到Java上的那些。謝謝。 – COBB87
@ COBB87你應該提及你正在編寫代碼的語言 –