質問

なぜですか?

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)'

Can <!>#180; tは$ -1.885,00を返しますか?

役に立ちましたか?

解決

デビット(つまり、マイナス)であり、クレジット(プラス)ではなく、数字であることを示す括弧は、会計の一般的な慣習です(括弧は、前にある小さなマイナス/ダッシュよりも見やすいため、借方と貸方を区別するために重要です;-)。

だから、多くのロケールがその規則を<!> quot; proper way <!> quot;として表現しているのは驚くことではありません。負の数値をフォーマットします。ロケールの規則の一部($記号やコンマなど)を使用し、括弧などのその他の部分は使用しない場合、ロケールへの入力としてyournumberの代わりにabs(yournumber)を使用する必要があります。 yournumber <!> ltの場合、通貨。 0、最初の数字を見つけるために小さな文字列操作を行い、その前にダッシュを付けて新しい文字列を作成します(または負の量を表現するための希望する方法に応じて、他の文字列操作、たとえば記号<!> quot; [ダッシュ]は通貨記号の前、または文字列全体の右側に移動できます)。

なぜ、その出力を読んでいる人は、ロケールの規則のすべてではなく一部をそれに適用することを望んでいると思いますか?

他のヒント

ロケールでは、数値を括弧で囲むと、負の数値であることを示します。これをコントロールパネル/地域と言語の設定で確認してください。おそらくPythonがそこから選択しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top