Tue, 07 Jun 2005
1000000 を 1,000,000 に 変換するには
金額等の表示でカンマ区切りにしたいときがあるけど、どうだったか忘れたので ちょっと自分なりに書いてみた。:
def commaseparate(val):
import re
val = list(str(val))
val.reverse()
val = ','.join([tok for tok in re.split('(...)', ''.join(val)) if tok])
val = list(val)
val.reverse()
return ''.join(val)
re.split('(...)')というのは、任意の値3文字をセパレータとして区切る という意味がある。で、カッコで囲うとセパレータが消えないという機能がある。 これを使うと、len(val)とかで流さをいちいち意識しなくていいのが ちょっとしたメリットと言える、けど動くならどういうソースでもあんまり性能はかわらんかもしれん。

