2017-04-05 97 views
-6

誰能解釋代碼什麼是.1F在指機器人

double partialradius = Math.cos(.1f/divide); 

我想知道什麼是.1F手段, 是0.1?

+1

'float'字面值爲'0.1'。請參見[Java語言規範§3.10.2。浮點文字](https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.2):*浮點文字的類型爲'float '如果後綴爲ASCII字母'F'或'f';否則它的類型是'double',它可以有一個ASCII字母'D'或'd'。* ---當然,在這種情況下添加'f'是愚蠢的,因爲除法運算符(' /')會將值強制爲'double',實際上在'float'到'double'轉換中失去了精度。 – Andreas

+0

0.1表示double,.1f表示0.1浮點數 – user7676575

+0

帶後綴'f/F'的任何東西都被稱爲['Float'](https://docs.oracle.com/javase/7/docs/api/java/lang/ Float.html) – Paras

回答

2

默認情況下,.1解決在java中輸入double。並且添加f告訴編譯器它是float類型的。

所以沒必要施放它!

+0

當然,在這種情況下,不需要將其轉換爲「float」,因爲它由'/'運算符轉換爲'double',而((double).1f'實際上是'0.10000000149011612',而不是'0.1',因此使字面上的'浮動'實際上是有害的。哎呀! – Andreas