Domanda

This is the snippet:

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

someTime is derived by using System.nanoTime(). What does 1e9d do here?

È stato utile?

Soluzione

1e9 means 10^9
2d means 2 as double

e.g.

  • sysout 1e9 => 1.0E9
  • sysout 10e9 => 1.0E10

See also the Floating-Point Literals section of The Java™ Tutorials.

Altri suggerimenti

The suffix d denotes a double number. If the number wasn't treated as a floating point number, then the division would be considered an integer division, returning an integer (e.g. 3/2=1).

1e9 is simply 10^9. The conversion seems to be from nanoseconds to seconds.

--EDIT--

Ingo correctly points out that 10e9 is already evaluated by java to a double (see this part of the spec for details). Therefore the 'd' isn't needed in this case.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top