2

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

4

1 回答 1

2

“e”是“指数”。

在格式表达式中:

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

格式本身是科学记数法。该数字始终被标准化为 1 到 10 之间的某个值,打印表达式中的“+04”是 10 乘以数字部分的幂。

于 2013-07-11T13:56:51.330 回答