对于所有在家里玩的人,我正在阅读Walter Savitch的Absolute Java 5th Edition(第2章,第66页)。
表达
double d = 12345.123456789;
System.out.printf("START%12.5e END %n", d);
答案
START 1.23451e+04END
我理解这个printf方法的参数的基本原理,例如我知道'%'代表参数的开始。 '12'是间距的数量,'。5'是小数点移动的次数....我看到小数点向左移动了4个位置......有人可以解释电子符号的原理。这个表达式如何得出这个答案=)。
就电子符号而言,它的意思是科学记数法;
所以像5.89e-4那样意味着0.000589(如果不向右移动小数位,则移动小数位,如果减去左侧)。
答案 0 :(得分:2)
" e"是指数"。
格式表达式:
12是显示的数字显示的(最小)宽度。 5是精确的小数位数。
格式本身是科学记数法。数字总是标准化为1到10之间的数字," + 04"在打印的表达式中,乘以数字部分乘以10的幂。