在科学记数法中设置双精度值的格式
2022-09-01 10:18:56
我有一个双倍的数字,我需要像.223.45654543434
0.223x10e+2
如何在Java中执行此操作?
我有一个双倍的数字,我需要像.223.45654543434
0.223x10e+2
如何在Java中执行此操作?
System.out.println(String.format("%6.3e",223.45654543434));
结果
2.235e+02
这是我得到的最接近的。
更多信息 : http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax
这个答案将为4万多名正在谷歌搜索“java科学记数法”的人节省时间。
%X.YE
中的 Y 是什么意思?
和 之间的数字是小数位数(不是有效数字)。.
E
System.out.println(String.format("%.3E",223.45654543434));
// "2.235E+02"
// rounded to 3 decimal places, 4 total significant figures
该方法要求您指定要舍入到的小数位数。如果您需要保留原始数字的确切意义,那么您将需要一个不同的解决方案。String.format
X 在 %X.YE
中是什么意思?
和 之间的数字是字符串将占用的最小字符数(此数字不是必需的,如上所示,如果省略它,字符串将自动填充)%
.
System.out.println(String.format("%3.3E",223.45654543434));
// "2.235E+02" <---- 9 total characters
System.out.println(String.format("%9.3E",223.45654543434));
// "2.235E+02" <---- 9 total characters
System.out.println(String.format("%12.3E",223.45654543434));
// " 2.235E+02" <---- 12 total characters, 3 spaces
System.out.println(String.format("%12.8E",223.45654543434));
// "2.23456545E+02" <---- 14 total characters
System.out.println(String.format("%16.8E",223.45654543434));
// " 2.23456545E+02" <---- 16 total characters, 2 spaces