Python中如何实现数字的格式化输出?
原创

Python中如何实现数字的格式化输出?

好文
试试语音读文章

热门回答:

在Python3版本前提下。实现数字格式化最最最常用的是format方法一、format语法

● 语法:

格式化字符串的函数 str.format()。返回字符串类型

●其中 str的基本语法是通过 {} 和 : 来代替以前的 %

: 号后面带填充的字符

简称:填齐度。隔精类

二、Python实例说明

● 保留小数点后两位

print(\"{:.2f}\".format(3.1415926))# 输出结果是:3.14

● 带符号保留小数点后两位

# + 表示在正数前显示 +。负数前显示 - print(\"{:+.2f}\".format(3.1415926))# 输出结果是:+3.14print(\"{:+.2f}\".format(-3.1415926))# 输出结果是:-3.14

● 不带小数

print(\"{:.0f}\".format(3.1415926))# 输出结果是:3

● 数字补零 (填充左边, 宽度为2)

# ^, <, > 分别是居中、左对齐、右对齐。后面带宽度print(\"{:0>2d}\".format(3))# 输出结果是:03

● 数字补x (填充右边, 宽度为11)

print(\"{:x<11d}\".format(1552742))# 输出结果:1552742xxxx

● 以逗号分隔的数字格式

print(\"{:,}\".format(1000228))# 输出结果:1,000,228

● 百分比格式

print(\"{:.2%}\".format(0.258))# 输出结果:25.80%

● 指数记法

print(\"{:.2e}\".format(1200))#输出结果: 1.20e+03

● 进制转换

b、d、o、x 分别是二进制、十进制、八进制、十六进制

三、展望合理利用format函数。在Python处理字符串时将如履平地。赶紧get这个Python小技巧吧。

其他观点:

从Python 3.6开始。引入F-string 格式化字符串新语法。它相对于 %-formatting、 str.format() 格式化方式。它不仅更易读。更简洁。不易出错。而且速度更快。我们就以F-string 来介绍如何格式化数字。

F-string 采用 {content:format} 的形式设置字符串格式。采用默认格式时则不需要指定 {:format}。其中 content 是替换并填入字符串的内容。可以是变量、表达式或函数等。format 是格式描述符。

接下来我们介绍一下数字的自定义格式。包含对齐、宽度、符号、补零、精度、进制等。

对齐格式描述符


数字符号格式描述符

代码示例如下:

宽度与精度格式描述符

0width格式描述符不能用于复数和非数值类型。width.precision格式描述符不能用于整数类型。

width.precision格式描述符可以用于不同格式类型的浮点数、复数时的含义不同:用于 f、F、e、E 和 % 时。 precision 指定的是小数点后的位数。用于 g 和 G 时 precision 指定的是有效数字位数(小数点前位数+小数点后位数)。

width.precision 除浮点数、复数外还可用于字符串。此时 precision 含义是只使用字符串中前 precision 位字符。

基本格式类型如下:

代码示例如下:

千位分隔符格式描述符

若不指定',' 。则F-string将不使用任何千位分隔符。此为默认设置。',' 仅适用于浮点数、复数与十进制整数。对于浮点数和复数。分隔的是小数点前的数位。

其他观点:

格式化输出单个数字的时候。可以使用内置的 函数。比如:

  >>> x = 1234.56789

  >>> # Two decimal places of accuracy

  >>> format(x, '0.2f') #无空格。小数保留2位

  '1234.57'

  >>> # Right justified in 10 chars, one-digit accuracy

  >>> format(x, '>10.1f') #数字输出靠右。总计长度为10。小数保留1位

  ' 1234.6'

  >>> # Left justified

  >>> format(x, '<10.1f') #数字输出靠左。总计长度为10。小数保留1位

  '1234.6 '

  >>> # Centered

  >>> format(x, '^10.1f') #数字输出靠中。小数保留2位

  ' 1234.6 '

  >>> # Inclusion of thousands separator

  >>> format(x, ',') #指定逗号位数字的千分位分隔符

  '1,234.56789'

  >>> format(x, '0,.1f') #无占位输出。用逗号作为分隔符。保留1位小数

  '1,234.6'

  >>>

  ########################################################

  # Note:

  #

  

  当时指定的小数位比真实小数位少时默认会显示四舍五入好的效果。与round的效果是相同的

  ########################################################

如果你想使用指数记法。将f改成e或者E(取决于指数输出的大小写形式)。比如:

1 >>> format(x, 'e') #指定为科学计数法

2 '1.234568e+03'

3 >>> format(x, '0.2E') #指定科学计数法和小数表达式的小数位数

4 '1.23E+03'

5 >>>

同时指定宽度和精度的一般形式是 。 其中 和 为整数。?代表可选部分。 同样的格式也被用在字符串的 方法中。比如:

1 >>> 'The value is {:0,.2f}'.format(x) #注意在用于格式化时的数字格式化指定时需要用:开头表征

2 'The value is 1,234.57'

3 >>>

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 少女恶习 永久VIP 2022年12月28日 17:23:34

    格式,数字,小数,字符串,小数点,的是,复数,宽度,位数,类型

  • 听闻你 永久VIP 2022年12月28日 17:23:34

    没想到大家都对Python中如何实现数字的格式化输出?感兴趣,不过这这篇解答确实也是太好了

  • 只求﹂份安宁 永久VIP 2022年12月28日 17:23:34

    在Python3版本前提下。实现数字格式化最最最常用的是format方法一、format语法● 语法:格式化字符串的函