当前位置:  首页>> 技术小册>> Python合辑5-格式化字符串

F-string也允许自定义数字显示的格式。有个非常普遍的需求就是把数字以每3位为一个间隔使用下划线进行分隔。

  1. >>> big_num = 1234567890
  2. >>> f"{big_num:_}"
  3. '1_234_567_890'

使用逗号千分位分隔符数字
实际上,可以随便用任何符号做千分位分隔符。所以用逗号做分隔符也完全没问题。

  1. >>> big_num = 1234567890
  2. >>> f"{big_num:,}"
  3. '1,234,567,890'

甚至可以一次性同时搞定既有千分位分隔符又有精度设定的浮点数。

  1. >>> num =2343552.6516251625
  2. >>> f"{num:,.3f}"
  3. 2,343,552.652'

使用空格做千分位分隔符
用空格也可以吗?
可以用逗号做分隔符之后再用空格替换逗号。

  1. >>> big_num = 1234567890
  2. >>> f"{big_num:,}".replace(',',' ')
  3. '1 234 567 890'

还有个方法是设定本地语言环境,换成一个用空格作千位分隔符的环境比如pl_PL(波兰语环境)。更多信息可参考这个Stack Overflow链接:
https://stackoverflow.com/a/17484665