我需要从字符串中提取所有数字。我正在使用这个,以便我可以将科学记数法中的数字转换为十进制形式,保持字符串的其余部分完整。
示例:"距离为4.62664581051E9"变成"距离是4626645810.51"
public static void main (String[] args) throws java.lang.Exception
{
NumberFormat fm1 = new DecimalFormat(",##0.00##");
String str = "NetMV4.62664581051E9";
StringBuilder parameterBuilder = new StringBuilder();
Scanner scanner = new Scanner(str);
while (scanner.hasNext()) {
if (scanner.hasNextDouble() && !scanner.hasNextInt()) {
parameterBuilder.append(fm1.format(scanner.nextDouble()));
} else {
parameterBuilder.append(scanner.next() + " ");
}
}
scanner.close();
System.out.println(parameterBuilder.toString());
}
到目前为止,我使用Scanner类来提取数字。它工作正常,但对于诸如"距离= 4.62664581051E9" (没有空格)
我可以创建一个自定义解析器并解析字符串,但正在寻找更好的案例。
由于