プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がオススメするプログラミング教材です

私がおすすめするプログラミング教材のまとめ【書籍】

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【Python入門】四捨五入しよう

更新日:

記事の内容


この記事では、Pythonで四捨五入を扱う方法を紹介します。
なお、このコードはPythonの3系で書かれています。

round関数の使い方

round関数は、以下のように使います。

round(数値)
round(数値, 桁数)

第一引数のみを指定した場合は整数に、四捨五入されます。
第二引数には、小数点何桁まで丸めるかを指定します。

10.5の四捨五入は上手くいっていません。。。
その理由は次に説明します。

round関数を使うさいの注意

四捨五入ではなく偶数への丸め

round関数の丸めは、一般的な四捨五入ではなく、偶数への丸めになります。
端数が0.5より小さいならば切り捨てます。
端数が0.5より大きいならば切り上げます。
端数がちょうど0.5なら、切り捨てと切り上げのうち結果が偶数となる方へ丸めます。

これをコードで見ていきましょう。
結果が全て、「0」「2」 「4」「6」といった偶数になっていることがわかります。




小数点以下2桁以降の処理では、偶数への丸めも上手くいかない

小数点以下2桁以降の処理では、偶数への丸めも上手くいかない時もあります。
理由は、小数を浮動小数点数で正確に表せないからです。

Decimalを使うと問題が解決します

上記の2つの問題は、Decimalを使うと解決します。

Decimal型のオブジェクトからquantize()を呼び出します。
quantize()の第一引数に、求めたい桁数と同じ桁数の数値を入力します。
そして、引数roundingに丸めモードを指定します。
ROUND_HALF_UPを指定すると一般的な四捨五入になります。

 まとめ

この記事では、Pythonで四捨五入を扱う方法を紹介しました。
業務で正確に四捨五入をしたい場合は、Decimalを使うようにしましょう。

Good luck with your engineer life!

小数点の切り上げと切り捨てが気になる人は、この記事を読んで下さい。

【Python入門】小数点の切り上げと切り捨て

目次1 小数点の切り上げ2 小数点の切り捨て3 まとめ 小数点の切り上げ 小数点の切り捨て まとめ この記事では、Pythonにおける「小数点の切り上げ」と「切り捨て」について紹介しました。 Good luck for your engin ...

続きを見る

Pythonをより詳しく勉強したい人には、この記事がオススメです

Pythonの学習でおすすめの本と動画【2024年最新】

目次1 関連記事の紹介2 動画教材3 初心者向け【入門編】4 中級者向け5 上級者向け 関連記事の紹介 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読んで下さい ...

続きを見る


Djangoをより詳しく勉強したい人には、この記事がオススメです

Djangoの学習でおすすめの本と動画【2024年最新】

目次1 関連記事の紹介2 動画教材3 中級者向け 関連記事の紹介 Pythonについては、この記事を読んで下さい 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読 ...

続きを見る


Flaskをより詳しく勉強したい人には、この記事がオススメです

Flaskフレームワークの学習でおすすめの本と動画【2024年最新】

目次1 関連記事の紹介2 動画教材3 中級者向け 関連記事の紹介 Pythonについては、この記事を読んで下さい 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読 ...

続きを見る


機械学習をより詳しく勉強したい人には、この記事がオススメです

機械学習でおすすめの本と動画【2023年最新】

目次1 関連記事の紹介2 動画教材3 概念的な理解4 初心者向け【入門編】5 中級者向け6 上級者向け 関連記事の紹介 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習で使う数学について ...

続きを見る


MLOpsをより詳しく勉強したい人には、この記事がオススメです

MLOpsでおすすめの本と動画【2024年最新】

目次1 関連記事の紹介2 動画教材3 中級者向け 関連記事の紹介 自然言語処理については、この記事を読んで下さい 機械学習については、この記事を読んで下さい Kaggleについては、この記事を読んで下さい 機械学習で使う数学については、この ...

続きを見る


統計学をより詳しく勉強したい人には、この記事がオススメです

統計学の学習でおすすめの本と動画【2023年最新】

目次1 動画教材2 初心者向け3 中級者向け4 上級者向け 動画教材 いちばん理解できる統計学ベーシック講座その1【確率分布・推定・検定】 ▼ 興味がある方は、画像をクリック 統計学の基礎を効率的に学べるベーシック講座です。 統計学の入り口 ...

続きを見る


数学をより詳しく勉強したい人には、この記事がオススメです

機械学習に備えて数学を学習するためのおすすめの本と動画【2023年最新】

目次1 関連記事の紹介2 動画教材3 中学生レベル4 高校レベル5 結城先生シリーズ6 線形代数7 微積分8 ラプラス変換9 その他 関連記事の紹介 自然言語処理については、この記事を読んで下さい 機械学習については、この記事を読んで下さい ...

続きを見る


Rをより詳しく勉強したい人には、この記事がオススメです

Rの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 統計3 R言語自体の解説 動画教材 Rではじめる統計基礎講座 ▼ 興味がある方は、画像をクリック R言語を使って、「データ分析」や「データサイエンス」の基礎を覚えて、ビジネスで活きる「実践的な統計」を学びましょう。 医師 ...

続きを見る


Juliaをより詳しく勉強したい人には、この記事がオススメです

Juliaの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 はじめましてJulia~次世代のデータサイエンス・科学計算のためのプログラミング ▼ 興味がある方は、画像をクリック このJuliaプログラミングコースは、初心者から中級者を対象として ...

続きを見る

-Python, プログラミング

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.