不久前我有一个以缩写格式显示大小值的功能,(千,百万等),现在是如何实现的,我想吊死自己: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)
1_000_000 =
1e+6
其余的以此类推。它被称为指数符号。这是为了使 ifs 看起来正常。
例如,对于单词,您可以使用字典或列表。
是的,使用人性化模块
但他似乎只指望dedocelion