Pythonで数値を四捨五入する方法は?
Pythonには、数値を四捨五入するためのround()関数が組み込まれています。
Pythonのround()メソッドは2つのパラメーターを取ります-
-
1つ目は、四捨五入する数値です。
-
2つ目は、数値を四捨五入する必要のある桁数を指定します。
ここで、2番目のパラメーターはオプションです。
2番目のパラメーターが指定されていない場合、round()メソッドはfloor()とceil()を使用して整数を返します。
小数点以下の桁を探します。
-
それらが5未満の場合、渡された数のfloor()を返します。
-
一方、小数点以下の桁が5より大きい場合は、渡された数値のceil()を返します。
-
整数が渡されると、同じ数値が返されます。
以下の実装からより明確になります-
2番目のパラメーターがない場合のround()関数。
四捨五入される数値はround()関数に渡されます。この場合のround()の出力は、常に整数値になります。
例を挙げて理解しましょう。
例
print(round(15))print(round(15.2))print(round(15.8))print(round(15.128))print(round(15.89))
出力
1515161516
説明
すべての印刷ステートメントの説明-
-
整数15が渡され、同じ整数が返されるため、出力15になります。
-
数値15.2が渡され、小数点以下の桁が5未満であるため、15.2のフロアが返され、15が出力されます。
-
数値15.8が渡され、小数点以下の桁が5より大きいため、15.8のceilが返され、16が出力されます。
-
数値15.128が渡され、小数点以下の桁数が500未満であるため、15.128のフロアが返され、15が出力されます。
-
数値15.89が渡され、小数点以下の桁が50より大きいため、15.89のceilが返され、16が出力されます。
注: すべての出力は整数値です。
2番目のパラメーターが存在する場合のround()関数
2番目のパラメーターは、数値を四捨五入する必要のある桁数を示します。
例
print(round(15,2))print(round(15.2789,3))print(round(15.82,1))print(round(15.128,2))print(round(15.8902,2))プレ>出力
1515.27915.815.1315.89この場合のround()関数の動作は、数値の四捨五入を数学的に計算するのと同じです。
整数値の場合は同じ整数値が返され、そうでない場合は指定された桁数に丸められた浮動小数点数が返されます。
説明
-
数値は15.2789で、桁数は3です。小数点以下4桁は5より大きいため、3桁目(最後に指定した桁)は1ずつ増加します。したがって、出力は15.279になります。
-
数値は15.82、桁数は1です。小数点以下2桁目は5未満なので、1桁目は1ずつ増えません。したがって、出力は15.8になります。
-
与えられた番号がPythonプログラムでフィボナッチ数であるかどうかを確認するにはどうすればよいですか?
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p
-
Pythonで日付検証を行う方法は?
Pythonで達成したい日付の検証は、使用している日付の形式に大きく依存します。日時ライブラリのstrptime関数を使用して、文字列を日付/時刻に解析できます。 例 import datetime date_string = '2017-12-31' date_format = '%Y-%m-%d' try: date_obj = datetime.datetime.strptime(date_string, date_format) print(date_obj) except ValueError: print(&