如何应用0.0e + 000十进制格式?

时间:2014-12-24 19:28:12

标签: java decimalformat

我想要输出:7.1e+438 from colony 4
查看链接中的输入和输出

输出为7.1e + 438: enter image description here

所以我使用toLowerCase()获取0.0e000格式而没有+符号且数值错误。

请参阅以下代码:

DecimalFormat d = new DecimalFormat("0.0E000");
System.out.printf(s.toLowerCase() +" from colony %d\n", tempColo);

我的问题是,有什么东西会给我0.0e+000格式吗?

2 个答案:

答案 0 :(得分:0)

  

我可以使用格式为0.0e + 000的东西吗?

根据我的理解,您希望小写E以及+符号

如果String.replaceAll(regexPattern)后跟任何数字,只需使用+附加e,在这种情况下使用String.replace()代替String.toLowerCase()

"7.1E438".replace('E','e').replaceAll("(?<=e)(?=\\d)", "+")  // 7.1e+438
使用Regex Online demo

Lookaround

答案 1 :(得分:0)

printf函数有很多不同的格式。 %e格式是你想在这里使用的。

System.out.printf("%1.1e from colony %d\n", d, tempColo);

java API详细解释了所有格式:http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#dndec