java - 如何将指数数字字符串转换为整数字符串

标签 java string integer exponential

将字符串类型的指数整数(例如 "2.4490677E7")转换为整数字符串(例如 "24490677")的最佳/最快方法是什么)在Java中?

编辑:已知输入始终是整数。

我当前的建议如下(使用 Apache Commons 的 org.apache.commons.lang.math.NumberUtils):

String input = "2.4490677E7";
String res = null;
Double d = NumberUtils.toDouble(input);
if (d != 0.0d) {
   // we have a double number here
   res = String.format("%d", d.intValue());
}

最佳答案

如果你需要不影响精度,那么你可以使用BigDecimal读取字符串,然后将其转换为int值

关于java - 如何将指数数字字符串转换为整数字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37188806/

相关文章:

java - 在 hibernate 状态下用新的集合更新旧的集合

java - 使用服务内的广播接收器检测调用结束

java - 了解大型 Java 代码的工作原理

java - 设置http请求的类型

MySQL使用like来匹配特定字符串

java - 系统输出 "null"而不是所需的字符串

c - C中的交替按位连接

Java 字符串引号定界符

c# - 如何将 int 数组值复制到字节数组?仅复制 C# 中的值

algorithm - 调度:将一组整数划分为 K 个子集