2011-03-01 43 views
3

我justing尋找一種方式,這樣我就不必「F」添加到我的所有雙打,編程時:例如:使用float默認在Java中(Eclipse中)

FunctionTakingLotsOfFloatsAsParameter(1.1f , 2.2f , 3.3f , 4.4); 

我希望能夠代替寫:

FunctionTakingLotsOfFloatsAsParameter(1.1 , 2.2 , 3.3 , 4.4); 

有沒有辦法使編譯器創建一個浮動,而不是雙重標準非整數 號碼?

+1

你爲什麼想要? 'double'可以有足夠多的四捨五入錯誤,所以爲什麼要使用'float',它最多隻能節省4個字節。 '浮動'只提供給傳統的支持恕我直言。 – 2011-03-01 10:37:54

+1

我認爲你應該標記這個方法,它需要參數爲double。 – u449355 2011-03-01 10:41:25

+1

如果你真的想要你可以修改javac源碼。不應該做太多的工作,你只需要在某處交換雙精度和浮點標記的檢測。 – josefx 2011-03-01 10:54:52

回答

7

不可以。它固定在language specification

請注意,它是一件好事情,與用不同編譯器構建的相同代碼相比,它是一個調試會話的一個地獄,可以找到某些構建中突然精確丟失的原因。

Java的基本原則之一是(與C不同),語言應儘可能完整地指定。您可能會爭辯說,他們犧牲了易用性,但在大多數情況下,這種全面規範的價值非常值得它可能造成的輕微不便。

4

不。你有一個特別的原因使用浮動的第一個地方?雙打更精確,記憶開銷應該是IMO不重要,以證明使用簡單的浮游物。

+0

與圖形相關的大多數庫似乎都使用浮動,並且因爲我編程python的一半時間,我總是忘記所有數字上的f。 – 2011-03-01 11:20:53

+0

嗯好吧,也許Eclipse的快速修復可以使用,以緩解疼痛一點。特別是與3D很可能是要提醒的是,你實際上處理的不是雙精度小於一個好主意。 – 2011-03-01 15:12:27