13

科学的記数法(例)を使用してコードに数値をハードコーディングした場合1e9、その数値のタイプは何になりますか(int、long、float、double ..)?

仮数または指数が浮動小数点数の場合、明らかに整数にすることはできませんが、上記の場合はどうでしょうか。

4

5 に答える 5

16

eそれを浮動小数点リテラルにします。JLSから(§3.10.2。浮動小数点リテラル):

浮動小数点リテラルは、ASCII文字または;floatの接尾辞が付いている場合はタイプです。それ以外の場合、そのタイプはであり、オプションでASCII文字または(§4.2.3)の接尾辞を付けることができます。FfdoubleDd

したがって、1e9タイプdoubleは、です1e9d。一方、1e9fはタイプfloatです。

于 2013-03-20T15:03:17.893 に答える
5

これらは通常、double型になります。fその後ろに(の)を置くFと、それはフロートです。

double d = 1e9; 
float f = 1e9f;
于 2013-03-20T15:02:20.877 に答える
4

これは浮動小数点リテラルと見なされ、末尾がfないかF、になりますdouble

整数リテラルは科学的記数法を使用できません。

于 2013-03-20T15:03:15.033 に答える
3

'f'または'F'を使用しない限り、'double'になり、floatリテラルになります。

于 2013-03-20T15:04:52.183 に答える
0

Doubleを使用することをお勧めします。10進浮動小数点があるため、科学的記数法と密接に関連するコンピューター算術システムです。例:科学的記数法で0.000 000 007 51は、7.51×10-9です。intとして使用する場合、7.51は7になりますが、intを使用する場合は7.51になります。

于 2013-03-20T15:29:51.203 に答える