Python

【Python】指定した値の倍数となるように丸める

ISHI

この記事では、Pythonで指定した値の倍数になるように丸める方法について紹介します。

[jin_icon_pencil color=”#405796″ size=”12px”]行うこと

ExcelのMROUND・FLOOR・CEILING関数のように指定した値を基準値の倍数になるように丸めた値をPythonで取得したい。

サンプルコード

def MROUND(value, unit):
    """
    目的の倍数に丸められた数値を返す関数。
    
    Parameters
    ----------
    value : int or float
        丸めの対象となる数値を指定。
    unit : int or float
        数値を丸くする倍数を指定。

    Returns
    -------
    round_value : int or float
    """
    if value < 0:
        value_judge = -value
    else:
        value_judge = value
    if unit < 0:
        unit_judge = -unit
    else:
        unit_judge = unit
    if value_judge == unit_judge or value_judge % unit_judge == 0:
        round_value = value-(value%unit)
    else:
        round_value = value-(value%unit)+unit
    return round_value

MROUND(30, 15)

 

使用方法

MROUND(数値, 基準値)
基準値に正の値を指定することで切り上げ
基準値に負の値を指定することで切り下げ

print(MROUND(30, 15))
>> 30

print(MROUND(30, 16))
>> 32

print(MROUND(30, -16))
>> 16

print(MROUND(30, 15.05))
>> 30.1
ABOUT ME
ISHICORO
ISHICORO
Author
中小企業で働くシステムエンジニア。年間100日以上の出張生活(国内外)。
記事URLをコピーしました