ググったところ 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.
There is no comment.