9

这是片段:

String myTime = someTime / 1e9d + ",";

someTime是通过使用导出的System.nanoTime()。在这里做什么1e9d

4

2 回答 2

7

1e9表示 10^9
2d表示 2 作为双倍

例如

  • 1e9系统输出 => 1.0E9
  • 10e9系统输出 => 1.0E10

另请参阅The Java™ Tutorials的Floating-Point Literals部分。

于 2013-12-12T16:05:25.940 回答
2

后缀 d 表示双精度数。如果数字不被视为浮点数,则除法将被视为整数除法,返回整数(例如 3/2=1)。

1e9 就是 10^9。转换似乎是从纳秒到秒。

- 编辑 -

Ingo正确地指出 10e9 已经被 java 评估为双精度(有关详细信息,请参阅规范的这一部分)。因此,在这种情况下不需要“d”。

于 2013-12-12T16:09:08.903 回答