📅  最后修改于: 2023-12-03 15:38:40.765000             🧑  作者: Mango
在某些情况下,我们可能需要将一个大数字进行缩写,例如将 1000 缩写成 1K,将 1000000 缩写成 1M。
以下是几种常见的缩写方式。
KMBT 是最常用和最常见的缩写方式,可以将任何数字缩写成一个带有 K、M、B、T 后缀的字符串。它们分别代表 Thousand(千)、Million(百万)、Billion(十亿)、Trillion(万亿)。
以下是一个方法可以实现 KMBT 缩写:
def kmbt(n):
n = float(n)
if n >= 10**12:
return '{:.1f}T'.format(n/10**12)
if n >= 10**9:
return '{:.1f}B'.format(n/10**9)
if n >= 10**6:
return '{:.1f}M'.format(n/10**6)
if n >= 10**3:
return '{:.1f}K'.format(n/10**3)
return '{:.0f}'.format(n)
使用示例:
>>> kmbt(12345)
'12.3K'
>>> kmbt(12345678)
'12.3M'
>>> kmbt(1234567890123)
'1.2T'
另一种常见的缩写方式是使用国际单位制中的前缀,例如 Kilo(千)、Mega(百万)、Giga(十亿)、Tera(万亿)等。
以下是一个方法可以实现使用 Metric Prefixes 缩写:
def metric_prefix(n):
n = float(n)
for prefix in ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z']:
if abs(n) < 1000:
return '{:.1f}{}{}'.format(n, prefix, 'i' if prefix else '')
n /= 1000
return '{:.1f}{}'.format(n, 'Yi')
使用示例:
>>> metric_prefix(12345)
'12.3Ki'
>>> metric_prefix(12345678)
'11.8Mi'
>>> metric_prefix(1234567890123)
'1.1Ti'
以上是如何在没有指数的情况下重写数字的介绍。使用这些缩写方式,可以使数字更加可读,并且在某些做数据分析的场合下会特别有用,可以更加清晰地表达数字大小。