python教程 格式化的精度控制


在Python中,您可以使用格式规范来控制数字的精度。以下是几种常见的方式:

  1. 使用百分号 % 进行格式化(旧式方法):

    num = 3.14159
    formatted = "The value is %.2f" % num
    print(formatted)
    # 输出: The value is 3.14
    

    在上面的示例中,%.2f 指定了浮点数的格式,.2 表示保留两位小数。

  2. 使用str.format()方法进行格式化:

    num = 3.14159
    formatted = "The value is {:.2f}".format(num)
    print(formatted)
    # 输出: The value is 3.14
    

    这里的 :.2f 表示浮点数的格式规范,保留两位小数。

  3. 使用f-string进行格式化(Python 3.6及更高版本):

    num = 3.14159
    formatted = f"The value is {num:.2f}"
    print(formatted)
    # 输出: The value is 3.14
    

    在f-string中,可以直接在占位符内使用 :.2f 来指定浮点数的格式规范。

通过在格式规范中使用 :.nf,其中 n 代表要保留的小数位数,您可以控制数字的精度。

请注意,这些示例中的精度控制仅适用于浮点数。如果要格式化其他类型的数字,如整数,可以相应地修改格式规范。

当涉及到精度控制时,除了保留小数位数,还可以使用其他格式规范来格式化数字。

以下是一些常见的格式规范示例:

  1. 控制小数位数:

    num = 3.14159
    formatted = "The value is {:.2f}".format(num)
    print(formatted)
    # 输出: The value is 3.14
    
  2. 控制总位数和小数位数:

    num = 123.456789
    formatted = "The value is {:8.2f}".format(num)
    print(formatted)
    # 输出: The value is   123.46
    

    在这个示例中,8 表示总宽度为 8 个字符,.2f 表示保留两位小数。

  3. 控制数字的对齐方式:

    num = 123.45
    formatted = "Left aligned: {:<10.2f}, Right aligned: {:>10.2f}".format(num, num)
    print(formatted)
    # 输出: Left aligned: 123.45    , Right aligned:     123.45
    

    在这个示例中,< 表示左对齐,> 表示右对齐。

  4. 使用千位分隔符:

    num = 1000000
    formatted = "Formatted number: {:,}".format(num)
    print(formatted)
    # 输出: Formatted number: 1,000,000
    

    在这个示例中,使用{:,}将数字格式化为带有千位分隔符的形式。

这些只是一些格式化数字的示例,您可以根据具体需求使用不同的格式规范来控制数字的显示方式。


原文链接:codingdict.net