在Python中,有什么简单的方法可以将整数格式化为表示以K表示成千上万,以M表示成千上万,并在逗号后仅保留几位数的字符串?
我想将7436313显示为7.44M,将2345显示为2,34K。
是否有一些可用的%字符串格式化运算符?还是只能通过在循环中实际除以1000并逐步构造结果字符串来完成?
我认为没有内置功能可以做到这一点。您必须自己滚动,例如:
def human_format(num): magnitude = 0 while abs(num) >= 1000: magnitude += 1 num /= 1000.0 # add more suffixes if you need them return '%.2f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude]) print('the answer is %s' % human_format(7436313)) # prints 'the answer is 7.44M'