Python 将字典中的 UP/DOWN 个整数与列表舍入
Python round UP/DOWN integers in dictionary with list
是否有任何方法或简单的方法可以将整数四舍五入到所需的点(数百、数千等)?是的,我知道可以使用数学库,可以使用函数等等,但对于简单的事情来说似乎很复杂。至少是旧的 python 版本我找不到好东西。
13 -> 20;
2237 -> 2240;
3451 -> 3500
我的情况:
dict = {'Key':[2312, 467]}
需要得到:
dict = {'Key':[2320, 470]}
显示示例,还显示何时需要向下舍入或以数学方式舍入(0-4 到 0、5-9 到 10)
这应该会如您所愿。
round_degree = 100
number = 2151
# Example rounding down to nearest 100
rounded_down = (number // round_degree) * round_degree
print(number, rounded_down )
# Example rounding up to nearest 100
rounded_up = -(-number // round_degree) * round_degree
print(number, rounded_up)
你可以这样做:-
D = {'Key1': [2312, 467], 'Key2': [123, 129]}
for k, v in D.items():
D[k] = [int(round(_n, -1)) for _n in v]
print(D)
您可以实现您的回合版本
def round(number, digits):
mult = 10**(digits)
val = int((number*mult)+0.5*(1 if number > 0 else -1))/mult
return val
for k, v in dict.items():
dict[k] = [ round(number, -1) for number in v ]
是否有任何方法或简单的方法可以将整数四舍五入到所需的点(数百、数千等)?是的,我知道可以使用数学库,可以使用函数等等,但对于简单的事情来说似乎很复杂。至少是旧的 python 版本我找不到好东西。
13 -> 20;
2237 -> 2240;
3451 -> 3500
我的情况:
dict = {'Key':[2312, 467]}
需要得到:
dict = {'Key':[2320, 470]}
显示示例,还显示何时需要向下舍入或以数学方式舍入(0-4 到 0、5-9 到 10)
这应该会如您所愿。
round_degree = 100
number = 2151
# Example rounding down to nearest 100
rounded_down = (number // round_degree) * round_degree
print(number, rounded_down )
# Example rounding up to nearest 100
rounded_up = -(-number // round_degree) * round_degree
print(number, rounded_up)
你可以这样做:-
D = {'Key1': [2312, 467], 'Key2': [123, 129]}
for k, v in D.items():
D[k] = [int(round(_n, -1)) for _n in v]
print(D)
您可以实现您的回合版本
def round(number, digits):
mult = 10**(digits)
val = int((number*mult)+0.5*(1 if number > 0 else -1))/mult
return val
for k, v in dict.items():
dict[k] = [ round(number, -1) for number in v ]