问题
This question already has an answer here:
- Format double value in scientific notation 4 answers
I'm writing a program that deals with planets' mass and diameter; These quantities are expressed in scientific notation. My question is NOT, mind you, NOT how does one print large numbers the right way (That's using printf(), duh), its how I would... "type" these numbers, I guess you could say. For example, the mass of mercury is expressed:
3.30 x 10ˆ23
And in my array of planet masses, an element would look:
33.0 * Math.pow(10, 23)
However, I don't quite think this is the right way - it looks like it would throw an exception... So how could I express large numbers like that from a programmer's perspective? Thanks!
回答1:
Section 3.10.2 of the JLS talks about floating-point literals in Java. In short, provide the decimal part as if it were scientific notation, but instead of x 10^23
you would write e23
:
3.30e23
To write one with a negative exponent, you can do that easily also for 6.67 x 10^(-11)
:
6.67e−11
回答2:
Java does support scientific notation:
3.30e23
回答3:
You can try initializing a long variable and try casting it as a double/float. That may work but I'm not a 100%
来源:https://stackoverflow.com/questions/19984040/how-to-express-numbers-in-scientific-notation-in-java