Python roundの使い方

この記事のポイント

Pythonのround関数は、数値を四捨五入する際に使う基本的な関数です。

この記事を読むと、次のようなことが身に付きます。

  • 小数点以下の桁数を指定して四捨五入する方法がわかる
  • 整数や負の桁数を指定する応用的な使い方がわかる
  • round関数を使った実践的なコード例を知る

この記事を通して、round関数の正しい使い方をマスターすれば、数値処理を適切に行うプログラムが書けるようになります。

目次

roundとは?

Pythonのround関数は、数値を指定した桁数で四捨五入するための組み込み関数です。

日常生活で、アンケート結果の「35.8%」を「36%」と表示したり、割り算の答えを小数第二位までに整えたりすることがあります。round関数も、同じように数値をスッキリと見やすく整形したいときや、計算の精度を調整したいときに役立ちます。

round関数は、1つ目の引数に丸めたい数値を、2つ目の引数に残したい小数点以下の桁数を指定して使います。

round関数の特徴

  • 2つ目の引数で小数点以下の桁数を指定できる
  • 2つ目の引数を省略すると最も近い整数に丸められる
  • 桁数に負の値を指定して整数部分を丸めることも可能
  • 0.5のような中間値は最も近い偶数に丸められる点に注意

【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング

基本構文

round関数の基本的な使い方はとてもシンプルです。

round(数値, 桁数)
  1. 引数に丸めたい数値だけを指定すると、最も近い整数に丸められる
  2. 2つ目の引数に、残したい小数点以下の桁数を整数で指定する
  3. 2つ目の引数に負の数を指定すると、整数部分を丸めることができる(-1なら十の位、-2なら百の位)

それでは、実際のコードを見てみましょう。

# 1. 基本的な整数への四捨五入 result1 = round(3.7) print(result1) # 2. 桁数を指定した四捨五入 result2 = round(3.14159, 2) print(result2) # 3. 負の桁数指定(十の位で丸める) result3 = round(1234, -1) print(result3)

出力結果

4
3.14
1230

この例では、3つのパターンでround関数を実行しています。

1つ目のround(3.7)は、桁数を指定していないため、最も近い整数の4、2つ目のround(3.14159, 2)は、小数点以下2桁まで残す指定なので、3.14となります。3つ目のround(1234, -1)は、桁数に-1を指定しているため、十の位で丸められ(1の位が四捨五入され)、1230となります。

実用例

ここからは、round関数の実践的な使用例を紹介します。実際のプログラム開発でよくある場面を想定したサンプルコードを通じて、round関数を学んでいきましょう。

基本的な小数点四捨五入

最もシンプルなround関数の使用例です。小数を含む数値を整数に変換します。

cat_weight = 4.7 dog_weight = 12.3 rounded_cat = round(cat_weight) rounded_dog = round(dog_weight) print(f"ネコの体重: {rounded_cat}kg") print(f"イヌの体重: {rounded_dog}kg")

出力結果

ネコの体重: 5kg
イヌの体重: 12kg

この例では、2つの変数を、桁数を指定せずにround関数で処理しています。round関数は、引数が0.5より大きい場合は切り上げ、0.5より小さい場合は切り捨てるため、4.7は5に、12.3は12になります。

桁数を指定した四捨五入

小数点以下の桁数を指定して、より精密な四捨五入を行う例です。測定値や計算結果の精度調整に便利です。

rabbit_length = 25.678 hamster_length = 8.234 rabbit_rounded = round(rabbit_length, 1) hamster_rounded = round(hamster_length, 2) print(f"ウサギの体長: {rabbit_rounded}cm") print(f"ハムスターの体長: {hamster_rounded}cm")

出力結果

ウサギの体長: 25.7cm
ハムスターの体長: 8.23cm

この例では、round関数の2つ目の引数で桁数を指定しています。rabbit_lengthは、round(rabbit_length, 1)で小数点以下1桁(つまり2桁目で四捨五入)となり25.7になりました。hamster_lengthは、round(hamster_length, 2)で小数点以下2桁(3桁目で四捨五入)となり、8.23になります。

負の値での桁数指定

桁数に負の値を指定することで、整数部分の桁を四捨五入できます。大きな数値の概算(おおよその数)表示に役立ちます。

elephant_weight = 3847 giraffe_weight = 1234 elephant_rounded = round(elephant_weight, -2) giraffe_rounded = round(giraffe_weight, -1) print(f"ゾウの体重(百の位): {elephant_rounded}kg") print(f"キリンの体重(十の位): {giraffe_rounded}kg")

出力結果

ゾウの体重(百の位): 3800kg
キリンの体重(十の位): 1230kg

この例では、桁数に負の値を指定しています。elephant_weightは、round(elephant_weight, -2)で百の位(下2桁)が丸められ、3800となります。giraffe_weightは、round(giraffe_weight, -1)で十の位(下1桁)が丸められ、1230となります。

リストの一括処理

複数の数値が含まれるリストに対して、round関数を一括適用する方法です。データ処理でよく使われるパターンです。

animal_speeds = [3.14, 8.76, 15.89, 23.42] animals = ["カメ", "パンダ", "ペンギン", "ライオン"] rounded_speeds = [round(speed, 1) for speed in animal_speeds] for i in range(len(animals)): print(f"{animals[i]}: {rounded_speeds[i]}km/h")

出力結果

カメ: 3.1km/h
パンダ: 8.8km/h
ペンギン: 15.9km/h
ライオン: 23.4km/h

この例では、リストに入った複数の速度データを、forループとround関数を組み合わせた「リスト内包表記」で一括処理しています。[round(speed, 1) for speed in animal_speeds]の部分で、リストから数値を一つずつ取り出し(speed)、round(speed, 1)で丸めた結果を新しいリストrounded_speedsに格納しています。

計算結果の四捨五入

計算処理の結果に対してround関数を適用する実用的な例です。割り算や掛け算の結果を見やすく表示できます。

tiger_food = 15 tiger_days = 7 daily_amount = tiger_food / tiger_days rounded_amount = round(daily_amount, 2) print(f"トラの1日あたりの餌: {rounded_amount}kg") print(f"週間合計: {tiger_food}kg")

出力結果

トラの1日あたりの餌: 2.14kg
週間合計: 15kg

この例では、割り算の計算結果をround関数で処理しています。計算結果daily_amount(2.142857...)をそのまま表示すると長くなってしまうため、round(daily_amount, 2)を使い、小数点以下2桁で丸めた2.14を表示しています。計算結果をユーザーに見やすく伝えたい場合に役立ちます。

条件分岐での四捨五入

条件に応じて異なる桁数で四捨五入を行う応用例です。データの性質に合わせた柔軟な処理が可能です。

whale_length = 12.456 fish_length = 0.234 if whale_length > 10: whale_result = round(whale_length, 1) else: whale_result = round(whale_length, 2) if fish_length < 1: fish_result = round(fish_length, 3) else: fish_result = round(fish_length, 1) print(f"クジラの体長: {whale_result}m") print(f"サカナの体長: {fish_result}m")

出力結果

クジラの体長: 12.5m
サカナの体長: 0.234m

この例では、if-else文を使って条件に応じたround関数の処理を行っています。まずクジラの体をチェックし、if whale_length > 10:の条件に当てはまるため、ifブロックの中のwhale_result = round(whale_length, 1)が実行され、結果は12.5となります。次にサカナの体長をチェックし、if fish_length < 1:の条件に当てはまるため、ifブロックの中のfish_result = round(fish_length, 3)が実行され、結果は0.234となりました。

このようにif文と組み合わせることで、値の大きさに応じて適切な桁数で数値を丸めることができます。

辞書データの処理

辞書形式のデータに含まれる数値をround関数で処理する例です。構造化されたデータの整理に活用できます。

animals = {"サル": 8.567, "クマ": 45.234, "キツネ": 6.789} rounded_animals = {name: round(weight, 1) for name, weight in animals.items()} for name, weight in rounded_animals.items(): print(f"{name}: {weight}kg")

出力結果

サル: 8.6kg
クマ: 45.2kg
キツネ: 6.8kg

この例では、辞書のキーと値をitemsメソッドで取り出し、辞書内包表記を使って処理しています。

キー(動物名)はそのままに、値(体重)だけをround(weight, 1)で丸めて、新しい辞書rounded_animalsを作成しています。構造化されたデータを扱う際によく使われる手法です。

関数内での四捨五入処理

round関数を含む独自関数を定義して、再利用可能な処理を作成する例です。コードの保守性と可読性が向上します。

def format_animal_data(name, measurement, digits=1): rounded_value = round(measurement, digits) return f"{name}の測定値: {rounded_value}" result1 = format_animal_data("イルカ", 2.345, 2) result2 = format_animal_data("アザラシ", 45.67) print(result1) print(result2)

出力結果

イルカの測定値: 2.35
アザラシの測定値: 45.7

この例では、format_animal_dataという名前の関数を定義して、動物の名前と測定値を受け取り、指定された桁数で丸めて整形した文字列を返す処理をまとめています。

関数の定義でdigits=1とすることで、桁数(digits)が指定されなかった場合は自動的に1が使われるよう設定しています。result1ではformat_animal_data関数を呼び出す際に桁数として2を指定したため、小数点以下2桁で丸められ2.35となりました。result2では桁数を省略したため、デフォルト引数の1が使われ、45.67が45.7となります。

まとめ

Pythonのround関数は、数値を四捨五入する際に使う重要な関数です。この記事では、基本的な使い方から応用例まで解説しました。

round関数が活用できるような場面は次のようなケースです。

round関数が活躍する場面

  • 通貨計算や利息計算で精度を調整したいとき
  • 測定データや実験結果の有効桁数を管理したいとき
  • Webアプリなどで数値を整形して表示したいとき

round関数を用いる上で、押さえておきたいポイントを覚えておきましょう。

重要なポイント

  • 第二引数で小数点以下の桁数を指定できる
  • 負の桁数を指定して整数部分を丸めることも可能
  • 中間値(例:2.5)は最も近い偶数に丸められる点に注意

初めてPythonを学ぶ方も、この記事で紹介したround関数を実際に書いて、基本的な使い方を試してみてください。

数値を丸める処理は、実際の開発で想像以上によく使用されます。マスターしておけば役立つこと間違いなしです。

ぜひround関数をマスターして、より適切に数値を扱えるプログラムを作成できるようになりましょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. Pythonのリファレンス記事一覧
  4. Python roundの使い方