在 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+08
、2e08
、2e8
、2E+08
、2E08
、2E8
。
【讨论】:
完全避免使用任何浮点并避免转换可能会更容易 好吧,我们不知道 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中将给定的整数转换为另一个整数