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

プログラミング道場

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

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【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 for your engineer life!

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

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

Pythonをより詳しく勉強したい人は、この記事を読んで下さい

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

初心者向け【入門編】 スラスラ読める Pythonふりがなプログラミング ふりがなプログラミングシリーズのPython版です。 文句なしに、やさしい内容なので、これからプログラミングを始めてみようという人は、この本から始めると良いかもしれま ...

続きを見る


機械学習をより詳しく勉強したい人は、この記事を読んで下さい

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

概念的な理解 機械学習エンジニアになりたい人のための本 機械学習について書かれている本です。 機械学習エンジニアになりたい人向けに、仕事内容や必要な知識レベルが書かれています。 機械学習エンジニアなるための勉強法などが書かれているのは嬉しい ...

続きを見る


統計学をより詳しく勉強したい人は、この記事を読んで下さい

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

初心者向け マンガでわかる統計学 素朴な疑問からゆる~く解説 初心者にわかりやすいと評判の本です。 カラー刷りで、漫画イラストを絡めながら統計に関する情報が記載されています。 一度は統計学に挫折した人でも、この本ならばきっとやれると思います ...

続きを見る


数学をより詳しく勉強したい人は、この記事を読んで下さい

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

中学生レベル 中学校3年分の数学が教えられるほどよくわかる 大人になって数学から離れている人にオススメの一冊です。 中学生が読んでも大人が読んでも役に立つ本です。 「なんとなく」の理解から「人に教えられる」ほどの理解になるはずです^^ 高校 ...

続きを見る


Rをより詳しく勉強したい人は、この記事を読んで下さい

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

統計 Rによるやさしい統計学 Rによる統計手法が関数ごとに非常にわかりやすく書かれています。 全て読めば、R関係のソフトウェアの統計解析が理解できるように思います。 Rによる多変量解析入門 多変量解析について勉強したい人にオススメの一冊です ...

続きを見る


Juliaをより詳しく勉強したい人は、この記事を読んで下さい

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

初心者向け 開発エンジニアにおくる次世代プログラミング言語Juliaのすすめ Juliaの基礎的な文法を学びたい人は、この本を手にとってみて下さい。 kindle unlimitedで読むこともできます^^ 中級者向け Juliaプログラミ ...

続きを見る

関連コンテンツ

-Python, プログラミング

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