在 Java 中将 2e+08 转换为整数

Posted

技术标签:

【中文标题】在 Java 中将 2e+08 转换为整数【英文标题】:Convert 2e+08 to integer in Java 【发布时间】:2012-10-07 14:56:31 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

2e+08 = 200000000

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

int n = (int)2e+08

以下所有内容在 Java 中都是等效的:2e+082e082e82E+082E082E8

【讨论】:

完全避免使用任何浮点并避免转换可能会更容易 好吧,我们不知道 OP 从哪里得到这个值,也许它是由某个使用浮点的库中的某个函数返回的。 你所拥有的,以及 OP 所拥有的,都是文字。在这种情况下,将其设为 int 文字。 @SteveKuo 尝试以下操作:System.out.println((1e2 + 1) / 2)System.out.println((100 + 1) / 2)。第一个打印50.5(正则除法),第二个打印50(整数除法) - 表明1e2 不是整数(在Java 意义上)而是一个双精度数。 2e+08 也可以这样说。【参考方案2】:

该号码使用scientific notation。 e 表示取幂,在这种情况下以 10 为底。所以这个数字是 2×108

因为计算器、计算机编程语言等通常不使用上标符号,所以使用e 表示幂。

要在 Java 中将这个数字表示为整数字面量,可以这样写:

200000000

正如@Saintali 有用地指出的那样,在 Java SE 7 及更高版本中,您可以在文字中使用下划线来提高清晰度:

200_000_000

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

【讨论】:

Ints 最多可以容纳 2147483647。

以上是关于在 Java 中将 2e+08 转换为整数的主要内容,如果未能解决你的问题,请参考以下文章

java 在最小steps.java中将给定的整数转换为另一个整数

在Java中将字符转换为整数

如何在 Java 中将整数转换为浮点数?

在Java 8中将整数数组转换为字符串数组的最简单方法[重复]

如何在pyspark中将GUID转换为整数

如何在 Java 中将二进制字符串转换为以 10 为底的整数