Printf E-notation

时间:2013-07-11 13:34:02

标签: java notation

对于所有在家里玩的人,我正在阅读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(如果不向右移动小数位,则移动小数位,如果减去左侧)。

1 个答案:

答案 0 :(得分:2)

" e"是指数"。

格式表达式:

12是显示的数字显示的(最小)宽度。 5是精确的小数位数。

格式本身是科学记数法。数字总是标准化为1到10之间的数字," + 04"在打印的表达式中,乘以数字部分乘以10的幂。