Pythonで数字を3桁ごとにカンマで区切る方法

Pythonで数字に3桁ごとに区切りを入れる方法を解説します。

Pythonで数字を3桁ごとにカンマで区切る方法

数字を扱う際に、3桁ごとにカンマ(,)で区切りを入れて可視性を良くしたいことがあります。単純にint型やfloat型の数字としてカンマを入れるとエラーが出ますが、文字列str型に変換して3桁ごとにカンマを入れることはできます。

数字を3桁ごとにカンマ区切りにする(f文字列)

Pythonで数字にカンマで桁区切りを入れるには、f文字列を使用します。f文字列は、文字列の中で変数や演算子を展開できる仕組みで、数値を特定の書式で展開する機能を持っています。

数字を3桁ごとにカンマで区切る書式は、f"{num:,}"という書き方になります。変数numは数字(int型やfloat型)です。数字を表す文字列("123"など)に対してはValueErrorが出るので注意してください。

f文字列の基本的な使い方については以下の記事を参考にしてください。

# 数字に3桁ごとにカンマを入れる

print(f"{1000000:,}")
# 1,000,000

# マイナス記号も変換可能
print(f"{-1000000:,}")
# -1,000,000

# floatにも対応
print(f"{1234.5678:,}")
# 1,234.5678

# 小数点以下の有効桁数も指定
print(f"{1234.5678:,.2f}")
# # 1,234.57

f文字列はPython3.6から導入された仕組みなので、それ以前はstr型のformat()メソッドを使う方法が取られていました。f文字列はformat()メソッドと比較して直感的かつ処理速度の面でも優位なため、今後は基本的にはf文字列を使う方が良いでしょう