不久前我有一个以缩写格式显示大小值的功能,(千,百万等),现在是如何实现的,我想吊死自己:D,这可以通过某种方式改进吗?或者也许有现成的模块?
def textify_value(value):
avalue = abs(value)
if avalue >= 1000000000000000000000000000000000000000000000000000000000000000:
return str(round(value / 1000000000000000000000000000000000000000000000000000000000000000)) + " эндек."
if avalue >= 1000000000000000000000000000000000:
return str(round(value / 1000000000000000000000000000000000)) + " дек."
if avalue >= 1000000000000000000000000000000:
return str(round(value / 1000000000000000000000000000000)) + " нон."
if avalue >= 1000000000000000000000000000:
return str(round(value / 1000000000000000000000000000)) + " окт."
if avalue >= 1000000000000000000000000:
return str(round(value / 1000000000000000000000000)) + " сптл."
if avalue >= 1000000000000000000000:
return str(round(value / 1000000000000000000000)) + " скст."
if avalue >= 1000000000000000000:
return str(round(value / 1000000000000000000)) + " квнт."
if avalue >= 1000000000000000:
return str(round(value / 1000000000000000)) + " квдр."
if avalue >= 1000000000000:
return str(round(value / 1000000000000)) + " трлн."
if avalue >= 1000000000:
return str(round(value / 1000000000)) + " млрд."
if avalue >= 1000000:
return str(round(value / 1000000)) + " млн."
if avalue >= 100000:
return str(round(value / 100000)) + "00 тыс."
if avalue >= 1000:
return str(round(value / 1000)) + " тыс."
return str(value)