Frage

Warum?

C:\path\>manage.py shell
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.    

>>> import locale
>>> locale.getlocale()
('Spanish_Colombia', '1252')
>>> locale.currency( 1885, grouping=True )
'$ 1.885,00'
>>> locale.currency( -1885, grouping=True )
'($ 1.885,00)'

Kann nicht return $ -1.885,00?

War es hilfreich?

Lösung

in Klammern eine Zahl, um anzuzeigen, es ist eine Debit (dh negativ), kein Kredit (positiv), eine gemeinsame Konvention in der Buchhaltung ist (ich denke, weil die Klammern mehr sichtbar als ein kleines Minus / Bindestrich voran sind, und es ist zu unterscheiden Abbuchungen von Krediten entscheidend; -).

So ist es nicht verwunderlich, dass viele Gegenden, dass die Konvention als „richtiger Weg“ ausdrücken negative Zahlen zu formatieren. Wenn Sie einige Teile Ihrer locale Konventionen, wie das $ -Zeichen und die Kommas verwenden möchten, andere aber nicht, wie die Klammern, müssen Sie abs verwenden (IhreNummer) statt nur IhreNummer als Eingabe für locale. Währung, dann, wenn IhreNummer <0, eine wenig String-Manipulation die erste Stelle zu finden und mit dem Schuss vor ihm (oder anderen Stringmanipulationen, je nach gewünschter Art und Weise eine neue Zeichenfolge bildet negative Beträge auszudrücken - zB die Zeichen „minus“ [Bindestrich] vor dem Währungssymbol gehen könnte, oder auf dem rechte Seite des ganzen String).

Warum denken Sie, dass wer auch immer los zu werden, zu lesen, dass die Ausgabe einige will, aber nicht alle der Konventionen des Gebietsschemas, um es durch die Art und Weise anwenden?

Andere Tipps

In Ihrem Standort, eine Zahl mit Klammern umgeben gibt es eine negative Zahl. Aktivieren Sie diese Option in der Systemsteuerung / Regions- und Spracheinstellungen, Pythons Kommissionierung es wahrscheinlich von dort oben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top