Python 数字转为中文,如 10K, 10.65M
我查了一些在小空间里表示数字的方法(在Django中),虽然django.contrib.humanize.intword这个功能很好用,但我更希望它能用“M”来表示百万,而不是直接写“million”。我知道对于特别大的数字(比如10的15次方和10的18次方),它们的表示会以“Q”开头。
我基本上需要四种不同的单位名称,直到万亿为止:K(千)、M(百万)、B(十亿)和T(万亿)。有没有什么包可以让数字的表示方式有很多配置选项?
我没有发布任何代码,因为我现在的代码虽然能用,但不是我想要的那样。这只是个问题,想看看有没有更好的方法来得到我希望的数字表示。
1 个回答
2
你应该可以在自己电脑上编辑humanize.intword的代码。如果是我来做的话,我会先把这段代码复制一份,然后给它重新命名。根据需要进行调整,然后调用这个重新命名的版本。你可以在你的电脑上找到源代码,链接是humanize.intword
比如说(原始代码)
(6, lambda number: (
ungettext('%(value).1f million', '%(value).1f million', number),
ungettext('%(value)s million', '%(value)s million', number),
)),
把它改成你需要的样子