# 3.3 对数值做格式化输出

# 目标：对数值做格式化输出，包括控制位数、对齐、包含千分位分隔符等。
# 解决方案：format()、decimal.Decimal对象

# 对单独的数值做格式化输出，使用内建的format()即可：
# 格式是m.nf，m和n是整数，m表示整个数值占多少位输出，n表示小数点后保留几位小数
# %表示将要数值转换成百分数。

x = 1234.5678
x1 = format(x, '0.2f')   # 精确度为两位小数
print(x1)  # 1234.57

x2 = format(x, '>10.1f')  # 右对齐，整个字符串宽度为10，默认为右对齐
print(x2)  # '    1234.6'

x3 = format(x, '<10.1f')  # 左对齐，字符串宽度为10
print(x3)  # '1234.6    '

x4 = format(x, '^10.1f')  # 居中
print(x4)  # '  1234.6  '

x5 = format(x, ',')       # 增加千位分隔符
print(x5)  # '1,234.5678'

x6 = format(x, '0,.1f')   # 千位分隔符 + 精度为1位
print(x6)  # '1,234.6'

x7 = format(x, 'e')    # e/E表示科学计数法
print(x7)  # '1.234568e+03'

x8 = format(x, '0.2E')
print(x8)  # '1.23E+03'
