Python输出百分比和有效数字

目录:

  • 输出百分数

  • 输出有效数字

输出百分数

方式1:直接使用参数格式化:{:.2%}

{:.2%}: 显示小数点后2位

  • 显示小数点后2位:
1
2
3
print('percent: {:.2%}'.format(42 / 50))

percent: 84.00%
  • 不显示小数位:{:.0%},即,将2改为0:
1
2
3
print('percent: {:.0%}'.format(42 / 50))

percent: 84%

方式2:格式化为float,然后处理成%格式: {:.2f}%

与方式1的区别是:

  1. 需要对42/50乘以 100 。
  2. 方式2的%在{ }外边,方式1的%在{ }里边。
  • 显示小数点后2位:
1
2
3
print('percent: {:.2f}%'.format(42 / 50 * 100))

percent: 84.00%
  • 显示小数点后1位:
1
2
3
print('percent: {:.1f}%'.format(42 / 50 * 100))

percent: 84.0%
  • 只显示整数位:
1
2
3
print('percent: {:.0f}%'.format(42 / 50 * 100))

percent: 84%

说明

{ } 的意思是对应format()的一个参数,按默认顺序对应,参数序号从0开始,{0}对应format()的第一个参数,{1}对应第二个参数。例如:

  • 默认顺序:
1
2
3
print('percent1: {:.2%}, percent2: {:.1%}'.format(42 / 50, 42 / 100))

percent1: 84.00%, percent2: 42.0%
  • 指定顺序:
    {1:.1%}对应第2个参数; {0:.1%}对应第1个参数。
1
2
3
print('percent2: {1:.1%}, percent1: {0:.1%}'.format(42 / 50, 42 / 100))

percent2: 42.0%, percent1: 84.0%

输出有效数字

用自带的decimal模块

1
2
3
4
5
from decimal import *

getcontext().prec = 6
Decimal(1)/Decimal(7)
# 结果为Decimal('0.142857'),六个有效数字