java - Printf E 表示法

标签 java notation

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

最佳答案

“e”是“指数”。

在格式表达式中:

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

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

关于java - Printf E 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594832/

相关文章:

Java多线程无main方法

c - 宏中的双重科学记数法

java - 如何将整数转换为 A1 表示法?

json - 记录 JSON 结构的语法

java - 如何将 arraylist<Model> 发送到 Fragment 适配器

java - 使用多个子键重命名 firebase 中的键

java - 将使用 ant 构建的 Java eclipse 项目迁移到 Gradle

java - 在 Java 中,嵌套类与其外部类之间的关系是什么?

notation - 求解 Big Theta 表示法

ruby - %w(array) 是什么意思?