2011-05-19 57 views

回答

13

它會自動轉換(請參閱widening primitive conversions)。但是,如果您想將結果作爲float,則需要明確地轉換返回值。

+1

謝謝。所以基本上 - 用這個函數獲得一個float的整數值會將我的float值轉換爲double值,並返回一個我應該轉換爲int值的double值。這聽起來很慢。 – Jeb 2011-05-19 15:32:31

+0

@user:從「float」轉換爲「double」應該幾乎爲零。你別無選擇,只能轉換結果! – 2011-05-19 15:34:10

+2

如果你正在使用floor(float)來獲得int值......只需將其直接投射到int。 – Grod 2011-12-11 05:08:02

4

不,一個float基元會自動轉換爲double而不會丟失任何精度。

3

雙倍大到足以表示每一個可能的浮動和更多。你不會失去任何精度,投射自動發生。

0

只需傳遞float而不進行轉換,因爲float的精度比double小。

2

floatdouble,兩者都是浮點數據類型,雙精度範圍較大。你應該可以用Math.Floor(double)使用你的float變量而不會有任何問題。

8

是的,但是當速度很關鍵時,應該提供對單精度浮標的支持。應該有一個類似於java.lang.Math的單精度模型

相關問題