如何在 Python 中将浮点数格式化为固定宽度?


在 Python 中,可以通过使用 Python 的 **f-字符串** 和灵活的 **format()** 方法将浮点数格式化为固定宽度。

浮点数格式化方法

以下两种是内置的浮点数格式化方法:

  • **f-字符串**:方便设置小数位数、空格和分隔符。

  • **str.format()**:此方法允许在占位符内使用格式化类型来控制值的显示方式。

使用 f-字符串

我们可以使用 Python 的 f-字符串 将浮点数格式化为固定宽度,在下面的代码中,**'.2f'** 指定数字应格式化为带有 2 位小数的浮点数。

示例

number = 123.4568
formatted = f"{number:10.2f}"
print(formatted)

输出

  123.46

使用 str.format() 方法

str.format() 方法在 Python 中格式化字符串方面用途广泛。通过使用此方法,我们还可以控制填充和对齐。

示例

number = 123.4568
formatted = "{:10.2f}".format(number)
print(formatted)

输出

  123.46

使用 str.format() 进行填充和对齐

我们还可以使用此 **str.format()** 方法控制填充和对齐,一些示例如下所示。

  • **右对齐填充**:通过指定总宽度,将数字或文本右对齐。

  • **左对齐填充**:通过指定总宽度,将数字或文本左对齐。

  • **居中对齐**:使用空格将数字或文本居中对齐。

  • **零填充**:用零而不是空格在左侧填充数字。

示例

以下示例使用给定数字确定填充和对齐。数字 **'10'** 指定总宽度。

number = 838.65
# right align with spaces
right_align_formatted = "{:>10}".format(number)
print('Right Align with Padding :',right_align_formatted)

# left align with spaces
left_align_formatted = "{:<10}".format(number)
print('Left Align with Padding :',left_align_formatted)

# center align with spaces
formatted = "{:^10}".format(number)
print('Center Align :',formatted)

# padding with zeros
zero_padding = "{:010.2f}".format(number)
print('Zero Padding :',zero_padding) 

输出

Right Align with Padding :      838.65
Left Align with Padding : 838.65    
Center Align :   838.65  
Zero Padding : 0000838.65

更新于: 2024年11月13日

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告