This is the snippet:
String myTime = someTime / 1e9d + ",";
someTime
is derived by using System.nanoTime()
. What does 1e9d
do here?
1e9 simply means (1) * (10^9) Typecast 1e9 to int since by default is is double => (int)1e9.
E10 means move the decimal to the right 10 places.
The e (or E ) means "times 10-to-the", so 1e9 is "one times ten to the ninth power", and 1e-9 means "one times ten to the negative ninth power".
1e9
means 10^9 2d
means 2 as double
e.g.
1e9
=> 1.0E910e9
=> 1.0E10See also the Floating-Point Literals section of The Java™ Tutorials.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With