Consider the following Python snippet:
for ix in [0.02, 0.2, 2, 20, 200, 2000]:
iss = str(ix) + "e9"
isf = float(iss)
print(iss + "\t=> " + ("%04.03e" % isf) + " (" + str(isf) + ")")
It generates the following output:
0.02e9 => 2.000e+07 (20000000.0)
0.2e9 => 2.000e+08 (200000000.0)
2e9 => 2.000e+09 (2000000000.0)
20e9 => 2.000e+10 (20000000000.0)
200e9 => 2.000e+11 (2e+11)
2000e9 => 2.000e+12 (2e+12)
Is it possible to "go back" somehow? That is:
2.000e+07 => 0.02e9
2.000e+08 => 0.2e9
2.000e+09 => 2e9
2.000e+10 => 20e9
2.000e+11 => 200e9
2.000e+12 => 2000e9
... I'd specify I want the exponent to be e+09
; and then whatever number I throw at this hypothetic function, returns the number value in that exponent? Would it be possible to specify zero padding for both the whole and the decimal part in each case? (i.e. 000.0200e9
and 020.0000e9
)?
To write a number in scientific notation:Move the decimal to a position immediately to the right of the first nonzero digit. value of the exponent. - If you moved the decimal point to the left, make the exponent positive. - If you moved the decimal point to the right, make the exponent negative.
Unfortunately excel does not allow you to turn this functionality off by default. However if you select your data, right click, and click "Format cells..." and choose Number you can stop excel from changing your data to scientific notation.
Format it yourself (see Format Specification Mini-Language):
for ix in [.02e9, .2e9, 2e9, 20e9, 200e9, 2000e9]:
print('{:.3e} => {:0=8.3f}e9'.format(ix, ix / 1e9))
2.000e+07 => 0000.020e9
2.000e+08 => 0000.200e9
2.000e+09 => 0002.000e9
2.000e+10 => 0020.000e9
2.000e+11 => 0200.000e9
2.000e+12 => 2000.000e9
{:0=8.3f}
means "zero-pad, pad between the sign and the number, total field width 8, 3 places after the decimal, fixed point format".
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