科学记数法是被解释为int还是浮动?

2022-09-04 07:13:16

如果我使用科学记数法(例如)在我的代码中对一个数字进行硬编码,那么该数字的类型是什么(int,long,float,double..)?1e9

当有效数或指数是浮点数时,它显然不能是整数,但是在上面的情况下呢?


答案 1

使其成为浮点文字。来自 JLS (§3.10.2.浮点文字):e

如果浮点文字的后缀为 ASCII 字母或 ;否则,其类型为,并且可以选择以 ASCII 字母或 (§4.2.3) 为后缀。floatFfdoubleDd

因此,类型为 ,如 。另一方面,是 类型 。1e9double1e9d1e9ffloat


答案 2

这些通常是双倍类型。如果你在它后面放一个(的),它就是一个浮子。fF

double d = 1e9; 
float f = 1e9f;

推荐