代码之家  ›  专栏  ›  技术社区  ›  alvas

%6.4f的现代打印版本是什么?

  •  -1
  • alvas  · 技术社区  · 7 年前

    对于较早版本的Python,可以这样打印字符串:

    >>> print('X = %6.4f' % 12312312.423141)
    X = 12312312.4231
    

    在Python中<3.6,将浮点放入格式化字符串并打印字符串。在现代python中,可以做到:

    >>> print('X = {num}'.format(num=round(12312312.423141, 4)))
    X = 12312312.4231
    

    但这明确地将浮点四舍五入为4个小数点。是否有办法像旧方法一样打印浮点,将6位字段指定为4个小数点?E、 g。 https://stackoverflow.com/a/15215445/610569

    对于Python>3.6、, fstring怎么样?看起来像这样吗?

    >>> num=12312312.423141
    >>> print(f'X = {num:6.4f}')
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   MegaIng Mischa Lisovyi    7 年前

    我不知道你在问什么,但要回答标题中的问题:

    新蟒蛇3。6版本 'X = %6.4f' % 12312312.423141 就像你说的 f'X = {12312312.423141:6.4f}'

    下面的蟒蛇3。6版本为 'X = {num:6.4f}'.format(num=12312312.423141)

        2
  •  -1
  •   alvas    7 年前

    是的,我可以用 %6.4f str.format() f'...' 字符串也是。

    在Python中>=3.6:

    >>> num=12312312.423141
    >>> 'X = %6.4f' % num == 'X = {num:6.4f}'.format(num=num) == f'X = {num:6.4f}'
    True
    
    >>> print('X = %6.4f' % num)
    X = 12312312.4231
    
    >>> print('X = {num:6.4f}'.format(num=num))
    X = 12312312.4231
    
    >>> print(f'X = {num:6.4f}')
    X = 12312312.4231
    

    以及文件: