Heute bemerkte mich auf IronPython2.7 folgendes Problem:(Eisen) Python Formatierung Problem mit Modulo-Operator & "negativer Null"
Wenn wie so ein format_string Formatierung, erhalte ich ein "Null negativ". Ich bekomme das gleiche Ergebnis, wenn ich Python2.7 oder Python3.4 anstelle von IronPython verwende.
>>> "%.2f" % -0.004
'-0.00'
Dann wurde mir klar, dass ich wie so die negativ Null, indem zwei Argumente an das Format-String loswerden kann:
>>> "%s%.2f" % ('x', -0.004)
'x0.00'
ein zufälliges Zeichen ‚x‘. Also formatiere ich eine andere Zeichenfolge vor dem Float-Wert und das Minus verschwindet. Das funktioniert nicht mit python2.7 und Python3.4 aber, wo ich bekommen:
>>> "%s%.2f" % ('x', -0.004)
'x-0.00'
Weiß jemand, was hier vor sich geht?
Was ist der Zweck der formatierten "Negativ Null" überhaupt?
Klingt wie ein Fehler in IronPython. Es sollte der CPython-Referenzimplementierung folgen, wo immer es möglich ist. –
Ich bin mir nicht sicher, ob Sie das wissen, aber die negative Null ist ein perfekt gültiger Gleitkommawert: '-0.0'. Es unterscheidet sich von (aber gleich) positivem Nullpunkt. Keine Ahnung, warum IronPython das Minuszeichen mit einem anderen Wert in der Formatzeichenfolge verschwinden lässt. – Blckknght