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

プログラミング道場

自分の市場価値を知りたい人にオススメの記事です

【すぐできる】エンジニアとしての市場価値を診断してみよう!

エンジニアが市場価値を把握しておくべき理由 エンジニアは、なぜ市場価値を把握しておいた方がいいのか、まずはその理由について説明します。 エンジニアの市場価値を決める要素 エンジニアの市場価値を決める要素について説明します。 経験業務と年数 ...

続きを見る

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

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

これからエンジニアになりたい人へ向けた本 私が書いた、「これからエンジニアになりたい人」に向けた本です。 最近、世間ではプログラミングの必要性が声高く叫ばれるようになりました。 子供向けには2021年からプログラミング教育が義務教育で実施さ ...

続きを見る

無料で学べるPython講座です

【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入門】小数点の切り上げと切り捨て

小数点の切り上げ 小数点の切り捨て まとめ この記事では、Pythonにおける「小数点の切り上げ」と「切り捨て」について紹介しました。 Good luck for your engineer life! この記事が面白かった人は、こちらの記 ...

続きを見る

Pythonエンジニアの求人

DODA

Pythonエンジニアは、約3500件の案件が登録されていました。

Pythonを使って働きたい人は、DODAに相談してみて下さい



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

Pythonの学習でおすすめの本と動画(Udemy)【2022年最新】

関連記事の紹介 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読んで下さい 機械学習で使う数学については、この記事を読んで下さい Kaggleについては、この記事 ...

続きを見る


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

Djangoの学習でおすすめの本と動画(Udemy)【2022年最新】

関連記事の紹介 Pythonについては、この記事を読んで下さい 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読んで下さい 機械学習で使う数学については、この記事 ...

続きを見る


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

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

関連記事の紹介 Pythonについては、この記事を読んで下さい 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習については、この記事を読んで下さい 機械学習で使う数学については、この記事 ...

続きを見る


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

機械学習でおすすめの本と動画(Udemy)【2022年最新】

関連記事の紹介 自然言語処理については、この記事を読んで下さい MLOpsについては、この記事を読んで下さい 機械学習で使う数学については、この記事を読んで下さい Kaggleについては、この記事を読んで下さい PyTorchについては、こ ...

続きを見る


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

MLOpsでおすすめの本【2022年最新】

関連記事の紹介 自然言語処理については、この記事を読んで下さい 機械学習については、この記事を読んで下さい Kaggleについては、この記事を読んで下さい 機械学習で使う数学については、この記事を読んで下さい PyTorchについては、この ...

続きを見る


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

統計学の学習でおすすめの本と動画(Udemy)【2022年最新】

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

続きを見る


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

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

関連記事の紹介 自然言語処理については、この記事を読んで下さい 機械学習については、この記事を読んで下さい Kaggleについては、この記事を読んで下さい MLOpsについては、この記事を読んで下さい PyTorchについては、この記事を読 ...

続きを見る


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

Rの学習でおすすめの本と動画(Udemy)【2022年最新】

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

続きを見る


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

Juliaの学習でおすすめの本と動画(Udemy)【2022年最新】

初心者向け 1から始める Juliaプログラミング 必要な事が簡潔にまとめられています。 juliaの難しい所をわかりやすく説明してくれている本です^^ 開発エンジニアにおくる次世代プログラミング言語Juliaのすすめ Juliaの基礎的な ...

続きを見る

関連コンテンツ

-Python, プログラミング

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