在Java中将指数整数字符串类型(例如"2.4490677E7"
)转换为整数字符串(例如"24490677"
)的最佳/最快方法是什么?如何将指数数字字符串转换为整数字符串
编辑:输入已知总是一个整数。
我目前的建议如下(使用org.apache.commons.lang.math.NumberUtils
来自Apache的百科全书):
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());
}
有什么问题呢? – Amit
2.4112E2 *转换*的结果应该是什么? –
如果您需要精确度不变,那么您可以使用BigDecimal读取字符串,然后将其转换为int值。 –