Python 四舍五入
Python Rounding
我正在使用以 .25
或 .75
结尾的 latitude/longitudes。我想提示用户输入 lat/lon 并让程序将其四舍五入为以 .25 或 .75 结尾的 lat/lon。我不能四舍五入到 .00 或 .5,只能四舍五入到 .25 或 .75。
例如,如果用户输入 43.04,我需要 Python 将其四舍五入为 43.25。
我正在使用 Enthought Canopy Python 发行版并且是 Python 的新手。对此有何建议?
这可以用作自定义舍入函数:
def customRound(num, d = [0.0, 0.25, 0.75, 1.0]): # you can change this list to any e.g. [0.0, 0.1, 0.4, 0.9, 1.0]
dec = num%1
r = num - dec
round_dec = min([(abs(i - dec),i) for i in d])[1]
return r + round_dec
你可以这样使用它:
>>> customRound(9.34)
9.25
>>> customRound(9.4)
9.25
>>> customRound(9.98)
10.0
>>> customRound(9.8)
9.75
我正在使用以 .25
或 .75
结尾的 latitude/longitudes。我想提示用户输入 lat/lon 并让程序将其四舍五入为以 .25 或 .75 结尾的 lat/lon。我不能四舍五入到 .00 或 .5,只能四舍五入到 .25 或 .75。
例如,如果用户输入 43.04,我需要 Python 将其四舍五入为 43.25。
我正在使用 Enthought Canopy Python 发行版并且是 Python 的新手。对此有何建议?
这可以用作自定义舍入函数:
def customRound(num, d = [0.0, 0.25, 0.75, 1.0]): # you can change this list to any e.g. [0.0, 0.1, 0.4, 0.9, 1.0]
dec = num%1
r = num - dec
round_dec = min([(abs(i - dec),i) for i in d])[1]
return r + round_dec
你可以这样使用它:
>>> customRound(9.34)
9.25
>>> customRound(9.4)
9.25
>>> customRound(9.98)
10.0
>>> customRound(9.8)
9.75