📅  最后修改于: 2023-12-03 15:19:30.587000             🧑  作者: Mango
在Python中,格式化数字是非常常见的操作。Python提供了多种方式来格式化数字,让你可以灵活地显示数字,包括添加千分位分隔符,控制小数点后显示位数,指定科学计数法等。以下是Python中格式化数字的几种方法。
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
。
从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位小数。
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中的几种格式化数字的方法,可以根据不同需求来选择适合的方法。