如何在 Java 中设置 E 符号的特定格式

How to set specific format for E notation in Java

我需要将一些浮点数转换为这样的格式:2,5000E-0032,8625E+000

我知道我可以这样做:

String.format("%s,%sE%s", digitInt, digitAfterDot, digitDegree)

但我希望有人知道更聪明、更简洁的解决方案

您可以使用:

String.format("%1.4e",12345.67890123)

结果是:

1,2346e+04

这是一些documentation

编辑
如果指数中需要 3 位数字,可以使用 DecimalFormat Formatter:

DecimalFormat format = new DecimalFormat("0.0000E000");
System.out.print(format.format(12345.67890123f));

输出:

1,2346E004

请注意,如果指数为正,则它不会带有正号。 您可以使用以下方法解决此问题:

DecimalFormat format = new DecimalFormat("0.0000E000");
String result = format.format(12345.67890123f);
if (!result.contains("E-")) {
    result = result.replace("E", "E+");
}