数値を 3 桁フォーマットする Python 関数

2008-10-14 09:55:09 | | このエントリーを含むはてなブックマーク | Tag: python プログラミング

ググったところ locale モジュールを使う方法が有ったのですが、うまく動作しなかったので書いてみた。

数値を 3 桁フォーマットする Python 関数

# 数値を 3 桁フォーマットする
def format_number(num):
    # 数値を文字列にする
    num = str(num)
    # フォーマットした文字列用変数を確保する
    text = ""
    # 文字列の長さをとり 3 ずつデクリメントして回す
    for i in range(len(num), 0, -3):
        # 最初のループでなければデリミタを加える
        if text != "":
            text = "," + text
        # 数値から取り出すべき文字列インデックスを決定する
        index = max(0, i - 3)
        # フォーマット済文字列へコピーする
        text = numindex: + text
        # 処理が終わった数値を切り捨てる
        num = num[:index]
    # フォーマット済文字列を返す
    return text

もっとスマートな方法は有るのかな。

(2008-10-15T01:00 追記)@yuyarin正規表現を使った方法を考えてくれました。コードだけ見るとスマートです。

This article is modified at 2008-10-15 01:00:29.

Related Entries

There is not related articles.

Trackbacks

Trackback URI: http://blog.c--v.net/trackback/2008/10/14/1

There is no trackback.

Comments

There is no comment.

Name
URI (Homepage or Email)
Body