2017-02-10 1 views
1

Ist es möglich, eine komplexe Zahl so zu formatieren, dass der Realteil nicht angezeigt wird, wenn er Null ist?Python Complex Number Formatierung von Null-Imaginärteil

Ich bin derzeit '{:.3g}'.format(x), die der Unterdrückung unnötige Nullen eine große Arbeit erledigt, aber ich habe noch Zahlen der Form erhalten 0+0.5j, die in 0.5j gegossen werden soll.

Danke!

Antwort

1

str und repr zu funktionieren scheinen:

>>> str(0.5j) 
'0.5j' 

>>> repr(0.5j) 
'0.5j' 
+0

Sie arbeiten wie ein Zauber, aber könnten Sie mir einen Tipp geben, wie erst nach dem Komma drei Ziffern zeigen, zum Beispiel? – Faser

+0

@Faser Hmm, ich weiß nicht viel über die Formatierung komplexer Zahlen, ich kam nur mit Hacks wie Strippen der '0+' weg mit '{: .3g} '. Format (x) .lstrip (' 0+ '* (x.real == 0)) 'oder rundet die Zahl wie' str (komplex (rund (x.real, 3), rund (x.imag, 3))). –