我想要输出:7.1e+438 from colony 4
查看链接中的输入和输出
输出为7.1e + 438:
所以我使用toLowerCase()
获取0.0e000
格式而没有+
符号且数值错误。
请参阅以下代码:
DecimalFormat d = new DecimalFormat("0.0E000");
System.out.printf(s.toLowerCase() +" from colony %d\n", tempColo);
我的问题是,有什么东西会给我0.0e+000
格式吗?
答案 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 的答案 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