Pythonで小数点の切り捨てをおこなう方法|コード付きで徹底解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年7月)

✔このような方へ向けて書かれた記事となります

「Pythonで小数点以下を切り捨てる方法は??」
「Pythonの切り捨て関数の使い方が知りたい」
「Pythonで実際に小数点を切り捨てる例を見たい」

✔当記事を通じてお伝えすること

  • Pythonでの小数点切り捨ての基本知識
  • Pythonにおける切り捨て関数の使い方とその応用
  • Pythonを用いた小数点切り捨ての実例

当記事では、Pythonによる小数点切り捨ての基本的な方法から、さまざまな関数を利用した応用例まで、具体的なコードを交えて詳しく解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Pythonでの小数点操作の重要性

こちらでは、Pythonで小数点を操作する際の重要性についてお伝えします。

  • 小数点を扱う際の注意点
  • 小数点に関わるデータタイプ
  • 代表的な小数点操作

小数点を扱う際の注意点

小数点数は、コンピュータでは近似値として扱われることが多く、完全な精度で表現されないことがあります。

計算結果に誤差が生じ、意図しないものとなる場合があるのです。

とくに、金融や科学技術分野では、この誤差が問題になります。

小数点に関わるデータタイプ

Pythonにおいて、小数点数は、浮動小数点数として扱われます。

小数点以下の値を含む数値を表現する型として、float型が一般的です。

またdecimalモジュールを用いることで、より高い精度で小数点数を扱えます。

【必読】Pythonのfloat型をマスター|サンプルコード付き
Pythonの浮動小数点数(float)型について詳しく知りたいですか?当記事では、float型の基本はもちろん、他データ型の基本にも触れ、それぞれ具体的なコードまで紹介しています。初心者の方は必見です。

代表的な小数点操作

代表的な小数点操作ついて見ていきましょう。

以下の3つが主なもので、その意味も改めて確認してください。

  • 切り捨て
  • 切り上げ
  • 四捨五入

切り捨て

小数点以下を切り捨てる操作では、数値の小数部分を切り捨てて整数部分だけを残します

この操作は、math.floor()関数やint()関数を使用することで実現可能です。

import math

x = 3.14
y = math.floor(x)  # math.floor()関数を使って小数点以下を切り捨てる
print(y)  # 出力: 3

z = int(x)  # int()関数を使って小数点以下を切り捨てる
print(z)  # 出力: 3

切り上げ

小数点以下を切り上げる操作では、小数部分がある場合、整数部分を1増やします

これにはmath.ceil()関数を使いましょう。

import math

x = 3.14
y = math.ceil(x)  # math.ceil()関数を使って小数点以下を切り上げる
print(y)  # 出力: 4

四捨五入

四捨五入は、小数部分が0.5以上の場合は切り上げ、それ以外は切り捨てる方法です。

round()関数を使用することで簡単に実現できます。

x = 3.6
y = round(x)  # round()関数を使って四捨五入する
print(y)  # 出力: 4

詳しくはこちらでご覧ください。

【必読】Pythonのroundと類似関数の基本・具体例・比較
数値を四捨五入するための「Pythonのround関数」について知りたいですか?round関数は、精度を制御しながら数値を四捨五入するための便利なツールです。当記事では、Pythonを用いてround関数を使用する基本的な方法や実践的な例を詳細に解説しています。初心者の方必見です。

Pythonで小数点を切り捨てる方法

こちらでは、Pythonで小数点を切り捨てる具体的な方法を解説します。

  • math.floor()関数の利用
  • int()関数の利用
  • math.floor()とint()の違い

math.floor()関数の利用

math.floor()関数は、引数として与えられた数値以下の最大の整数を返します。

この関数はmathモジュール内に含まれているため、使用する前にimport mathとしてモジュールをインポートする必要があります。

math.floor(3.7)

int()関数の利用

int()関数は、小数点数を整数に変換する際に、小数部分を切り捨てます。

これはmath.floor()関数と似た振る舞いをしますが、int()はデータ型の変換をおこなう主な目的があります。

int(3.7)

math.floor()とint()の違い

math.floor()関数とint()関数は似たように見えますが、役割は以下のように異なります。

  • math.floor:数学的な切り捨て
  • int:型変換

また、負の数に対しては異なる振る舞いを示します。

  • math.floor(-3.7) #出力:-4
  • int(-3.7) #出力:-3

Pythonで小数点を切り上げる方法

こちらでは、Pythonで小数点を切り上げる方法を解説します。

  • math.ceil()関数の利用
  • コード例とその実行結果

math.ceil()関数の利用

math.ceil()関数は、引数として与えられた数値以上の最小の整数を返します。

この関数もmathモジュール内に含まれているため、使用する前にimport mathとしてモジュールをインポートする必要があります。

math.ceil(3.7) #出力:4

コード例とその実行結果

こちらはceil関数で切り上げをおこなう例です。

import math

# 切り上げ
number = 3.7
result = math.ceil(number)
print(f"Ceiling of {number} is {result}")

# 出力
# "Ceiling of 3.7 is 4"

Pythonで小数点を四捨五入する方法

こちらでは、Pythonで小数点を四捨五入する方法について解説します。

  • round()関数の利用
  • format()関数の利用

round()関数の利用

round()関数は、最も近い整数に四捨五入します。

小数点以下の桁数を指定も可能。

round(3.7) #出力:4
round(3.746, 2) #出力」3.75

format()関数の利用

format()関数を使用することで、文字列として四捨五入した値を得られます。

format関数は、数値を整形した文字列として出力する場合に特に便利です。

number = 3.746
formatted_number = format(number, '.2f')
print(f"Rounded to two decimal places: {formatted_number}")

“Rounded to two decimal places: 3.75” と出力します。

無限大への丸め処理の説明

こちらでは、Pythonで無限大への丸め(Round Toward Infinity、RI)について説明します。

  • Round Toward Infinity
  • RI

Round Toward Infinity

無限大への丸め(Round Toward Infinity)は、正の数値では切り上げ、負の数値では切り捨てをおこなう丸め方です。

Pythonではmathモジュールのcopysign()関数とceil()関数を組み合わせることで実現できます。

import math

def round_toward_infinity(x):
    return math.copysign(math.ceil(abs(x)), x)

number = 3.2
result = round_toward_infinity(number)
print(f"Round Toward Infinity of {number} is {result}")

“Round Toward Infinity of 3.2 is 4.0” と出力します。

RI

RIはRound Toward Infinityの略です。

これは特に金融計算などで利用されることがあります。

RIは数値を可能な限り大きくするため、絶対値が増加します。

Pythonでの小数点操作の比較と選択

こちらでは、Pythonでの小数点操作のそれぞれの方法とその適用シーンについてまとめます。

  • それぞれの方法の適用シーンや特徴
  • 初心者におすすめの手法や注意点

それぞれの方法の適用シーンや特徴

各操作は、それぞれ適した場面で使うようにしましょう。

  • 切り捨て:値を小さくしたい場合
  • 切り上げ:逆に値を大きくしたい場合
  • 四捨五入:最も近い整数にしたい場合

初心者におすすめの手法や注意点

初心者は、基本的な関数の使い方から始めると良いでしょう。

  • round()
  • int()
  • math.ceil()
  • math.floor()

ただし、小数点数の精度と丸め誤差に注意が必要です。

round関数については詳しくこちらをご覧ください。

【必読】Pythonのroundと類似関数の基本・具体例・比較
数値を四捨五入するための「Pythonのround関数」について知りたいですか?round関数は、精度を制御しながら数値を四捨五入するための便利なツールです。当記事では、Pythonを用いてround関数を使用する基本的な方法や実践的な例を詳細に解説しています。初心者の方必見です。

int関数についてはこちらをどうぞ。

【Python】整数(int)型の基本|サンプルコード付き
Pythonの整数について知りたいですか?当記事では、Python整数型の基本的な使い方や実践例を詳細に解説しています。int関数の使い方はもちろん、その注意点なども具体的なコード付きで解説しています。初心者の方は必見です。

まとめ

Pythonで小数点操作を行う方法は多岐にわたりますが、それぞれの手法には適切な使用シーンがあります。

基本的な関数から始めて、必要に応じて更なる関数やモジュールを学んでいくことが重要です。

また、数値計算では丸め誤差に注意し、正確性を確保する必要があります。

これらの知識を活かして、Pythonでの小数点操作を効果的に活用しましょう。

タイトルとURLをコピーしました