我有以下代码拆分一串数字(由空格分隔),然后创建一个浮点数组:
//Split the string and then build a float array with the values.
String[] tabOfFloatString = value.split(" ");
int length = tabOfFloatString.length;
System.out.println("Length of float string is" + length);
float[] floatsArray = new float[length];
for (int l=0; l<length; l++) {
float res = Float.parseFloat(tabOfFloatString[l]);
System.out.println("Float is " + res);
floatsArray[l]=res;
}
问题是字符串中的一些值是用科学记数法格式化的——例如它们读取-3.04567E-8。
我想要做的是最终得到一个不包含 E 数字的浮点数。
我一直在阅读这个帖子,它表明我可以使用 BigDecimal,但是无法让它工作 - 这是最好的方法还是我应该尝试其他方法?如何在 Java 中将字符串 3.0103E-7 转换为 0.00000030103?