2017-04-05 29 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