これは少しハックですが、:
format(12345678.46, ',').replace(',', ' ').replace('.', ',')
format_specに、Format specification mini-languageに記載されているように:
「」オプションは、1000の区切りコンマの使用を知らせます。
次に、各カンマをスペースで置き換え、小数点をカンマで置き換えます。これで完了です。
代わりformat
のstr.format
を使用して、より複雑なケースでは、format_specはのように、コロンの後に行く:
'{:,}'.format(12345678.46)
詳細はPEP 378を参照してください。
はまた、あなたは自分のシステムのロケールのための標準的なグループ化とセパレータを使用しようとしている場合、たとえば、こと-n
フォーマットタイプ、またはlocale.format
機能などを行うための簡単な方法があります。お使いのシステムロケールがある場合
>>> locale.setlocale(locale.LC_NUMERIC, 'pl_PL')
>>> format(12345678, 'n')
12 345 678
>>> locale.format('%.2f' 12345678.12, grouping=True)
12 345 678,46
>>> locale.setlocale(locale.LC_NUMERIC, 'fr_FR')
>>> locale.format('%.2f' 12345678.12, grouping=True)
12345678,46
>>> locale.setlocale(locale.LC_ALL, 'en_AU')
>>> locale.format('%.2f' 12345678.12, grouping=True)
12,345,678.46
は、ちょうどあなたがしたい、ポーランドの設定をピックアップしますlocale.setlocale(locale.LC_NUMERIC)
(またはlocale.setlocale(locale.LC_ALL)
)を呼び出し、pl_PL
、言うが、オーストラリアでは、あなたのプログラムを実行している同じ人がオーストラリアの設定をピックアップしますその彼は欲しい。
何12345678,46123'' ' 'は? –
@AshwiniChaudhary:通常、小数点の後には何千もの区切り文字を入れません。少なくともPEP 378のフォーマットは行われませんし、LC_NUMERICもどちらも検索できません。 – abarnert
先頭から 'end'から空白を作るようにしてください。 – Zaffy