📜  python中的格式数字(1)

📅  最后修改于: 2023-12-03 15:19:30.587000             🧑  作者: Mango

Python中的格式化数字

在Python中,格式化数字是非常常见的操作。Python提供了多种方式来格式化数字,让你可以灵活地显示数字,包括添加千分位分隔符,控制小数点后显示位数,指定科学计数法等。以下是Python中格式化数字的几种方法。

使用format()函数

format()函数是Python中常用的字符串格式化方法,可以用来格式化数字。使用方法如下:

x = 123.456
print("Formatted number with 2 decimal places: {:.2f}".format(x))

这里,{:.2f}表示输出浮点数保留2位小数,输出结果为123.46

更多使用方法:

  • {}:默认的字符串格式化
  • {:<}:左对齐
  • {:^}:居中对齐
  • {:<}:右对齐
  • {:.nf}:保留n位小数
  • {:.2%}:输出百分数,并保留2位小数
  • {:.2e}:科学计数法表示,保留2位小数
  • {:,}:添加千分位分隔符
使用字符串方法

还有一种常见的格式化数字的方式是使用字符串方法。稍微有些不同,但它同样可以实现格式化输出。

x = 123456
print("Formatted number with thousand separator: " + "{:,}".format(x))

这里,{:,}表示添加千分位分隔符,输出结果为123,456

使用f-strings

从Python 3.6开始,引入了f-strings,这是一种更简单的格式化字符串的方法。使用方法如下:

x = 123.456
print(f"Formatted number with 2 decimal places: {x:.2f}")

Output:

Formatted number with 2 decimal places: 123.46

这里,{x:.2f}表示输出浮点数保留2位小数。

使用locale模块

Python还提供了locale模块来格式化数字,以正确呈现与系统或用户语言相关的数字格式。

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
x = 1234567.89
print(locale.format("%d", x, grouping=True))
print(locale.currency(x, symbol=True, grouping=True))

这里,locale.format()可以通过grouping=True来添加千分位分隔符,而locale.currency()可以用于按货币格式输出数字,同时也可以选择添加千分位分隔符。

Output:

1,234,567
$1,234,567.89

以上是Python中的几种格式化数字的方法,可以根据不同需求来选择适合的方法。