2016-08-02 7 views
1

Sagen wir, ich habe einen Wert mit doppelter GenauigkeitFüllt das exponentielle Index mit Nullen

a = 1.5838619160273860E-021 

Gibt es eine Möglichkeit, eine Zeichenfolge b

b = '1.5838619160273860E-021' 

Hinweis der Index hat drei Ziffern hier E-021 statt zu schaffen, die E-21. Ich weiß, format(int, '0.16f') kann die Dezimalstelle steuern, aber keine Ahnung, wie der Index zu manipulieren.

Jeder möglicher Eingang

+0

sie gleich aussehen geschätzt werden? –

+0

@KyleFalconer das ist der Punkt, wenn Sie versuchen, "a" zurück in eine Zeichenfolge "b" zu konvertieren, fällt die führende Null. –

+2

Mögliches Duplikat von [Python - Anzahl der Stellen im Exponenten] (http://stackoverflow.com/questions/9910972/python-number-of-digits-in-exponent) –

Antwort

0

Sie benötigen einen anderen Fall für, wenn seine +21 anstelle von -21

>>> x = '1.5838619160273860E-21' 
>>> a,b = x.split('E-') 
>>> 'E-'.join((a,b.zfill(3))) 
'1.5838619160273860E-021' 
+0

würde auch nicht für nicht negative Exponenten funktionieren. –

Verwandte Themen