Pythonで数値をカンマ3桁区切りにするには次のようにします。
src = 123456789
result = "{:,}".format(src)
print(result) # 123,456,789
result = "{:,}".format(src)
print(result) # 123,456,789
{:,}
でなく
{:_}
とするとアンダースコア区切りになります。
記号は変えられますが桁数を変える方法が見つかりませんでした。
次のようにすると3桁以外で区切ることができます。
一度逆順にして桁数ごとにカンマを入れ元の順に戻します。
import re
def comma(src, digit):
dst = str(src)
dst = "".join(list(reversed(dst)))
dst = re.sub(r"(\d{"+str(digit)+"})", r"\1,", dst)
dst = "".join(list(reversed(dst)))
dst = re.sub(r"^,", "", dst)
return dst
src = 123456789
digit = 4
result = comma(src, digit)
print(result) # 1,2345,6789
def comma(src, digit):
dst = str(src)
dst = "".join(list(reversed(dst)))
dst = re.sub(r"(\d{"+str(digit)+"})", r"\1,", dst)
dst = "".join(list(reversed(dst)))
dst = re.sub(r"^,", "", dst)
return dst
src = 123456789
digit = 4
result = comma(src, digit)
print(result) # 1,2345,6789
コメント