1. ホーム
  2. python

整数を10に近い値に丸める

2023-08-01 14:50:14

質問

私はpythonで整数を丸めようとしています。私は組み込みのround()関数を見ましたが、それは浮動小数点を丸めるようです。

私の目標は、整数を10の最も近い倍数に丸めることです。例えば、5-> 10, 4-> 0, 95->100, などです。

5以上は切り上げ、4以下は切り下げます。

これは私が持っているコードで、これを実行します。

def round_int(x):
    last_dig = int(str(x)[-1])
    if last_dig >= 5:
        x += 10
    return (x/10) * 10

私が達成したいことを実現するための最良の方法でしょうか?これを行う組み込みの関数はあるのでしょうか?さらに、これが最良の方法である場合、私がテストで見落としたコードに何か問題があるのでしょうか?

どのように解決するのですか?

実は、まだround関数を使うことができます。

>>> print round(1123.456789, -1)
1120.0

これは10の最も近い倍数に丸めることになります。100にする場合は第2引数に-2、といった具合です。