非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Python: 数値の四捨五入とかカンマ区切りとかゼロ埋めとか

   

Pythonで数値を扱い方です。round関数とformat関数を使って、四捨五入, カンマ区切り, 小数点以下のゼロ埋めを行います。

 

round関数で四捨五入

round(数値, 桁数)関数を使って四捨五入してみましょう。

v = 12345.6789
print(round(v,3)) #小数点第3桁まで四捨五入
print(round(v,0)) #小数点以下を四捨五入
 

 

出力結果はこちらです。指定のところで四捨五入してくれていますが、桁数0でも小数点が現れてしまいます。これはfloat型だからですね。

[ad#top-1]

小数点以下を四捨五入して整数だけ表示したい場合は以下のようにint関数を併用します。

v = 12345.6789
print(int(round(v,0)))
 

 

 

format関数を使って四捨五入

format関数を使って四捨五入もできます。

v = 12345.6789
print('{:.3f}'.format(v)) #小数点第3桁まで四捨五入
print('{:.0f}'.format(v)) #小数点以下を四捨五入
 

 

format関数は小数点以下の四捨五入すると整数のみ表示となります。注意すべきはformat関数は数値ではなく文字列として出力するという点です。引き続き計算をする場合は注意しましょう。

 

format関数で小数点以下0埋め

小数点以下が1桁しかなくても、3桁までゼロ表記したい時があります。その場合もformat関数を使います。

v = 12345.6789
v = round(v,1)
print('{:.3f}'.format(v))
 

 

結果はご覧の通りです。

 

format関数でカンマ区切り

金額表記などで使う3桁ごとのカンマ区切りの方法です。こちらもformat関数を使いますが、引数には整数である必要があります。round関数で小数点以下を四捨五入した後にint関数で整数にする必要があります。

v = 12345.6789
v = int(round(v,0))
print("{:,d}".format(v))

 

結果はご覧のとおりです。

 

[ad#ad-1]

スポンサーリンク

 - Python