转换为2e+;Java中的08到整数

转换为2e+;Java中的08到整数,java,types,number-formatting,Java,Types,Number Formatting,我想知道编程中的2e+08格式是什么意思? 我有一些与项目预算有关的数据。如何在Java中将其转换为整数 2e+08表示2乘以10^8。换句话说,2后跟8个零: 2e+08=200000000 要将其转换为int,我们可以简单地强制转换: int n = (int)2e+08 以下所有内容在Java中都是等效的:2e+08,2e08,2e8,2e+08,2e08,2e8,2e8。e表示幂运算,在本例中以10为基数。所以这个数字是2×108 由于计算器、计算机编程语言等通常不使用上标符号,e用

我想知道编程中的
2e+08
格式是什么意思? 我有一些与项目预算有关的数据。如何在Java中将其转换为整数

2e+08
表示2乘以10^8。换句话说,2后跟8个零:

2e+08=200000000

要将其转换为
int
,我们可以简单地强制转换:

int n = (int)2e+08

以下所有内容在Java中都是等效的:
2e+08
2e08
2e8
2e+08
2e08
2e8
2e8
e
表示幂运算,在本例中以10为基数。所以这个数字是2×108

由于计算器、计算机编程语言等通常不使用上标符号,
e
用于表示幂运算

要在Java中将该数字表示为整数文字,请按如下方式编写:

200000000 200000000 正如@Saintali所指出的,在Java SE 7和更高版本中,可以在文字中使用下划线来提高清晰度:

200_000_000 200_000_000
如果您正在读取的数据使用科学记数法,那么它表示浮点值。您真的应该将其转换为整数数据吗?如果您确实需要从文件中读取该值,然后将其转换为int,那么您应该将其读入浮点数据类型,然后转换为
int

,这样可能更容易避免使用任何浮点,避免转换。我们不知道OP从何处获得该值,它可能是由某个使用浮点的库中的某个函数返回的。在这种情况下,将其设置为
int
literal。@SteveKuo尝试以下操作:
System.out.println((1e2+1)/2)
System.out.println((100+1)/2)
。第一个打印
50.5
(常规除法),第二个打印
50
(整数除法)-表明
1e2
不是整数(Java意义上的整数),而是双精度整数。对于
2e+08
,也可以这样说。整数最多可容纳2147483647个字符。