标签: 定点数

  • python显示数字时关闭科学计数法

    默认情况下如果数值非常大或非常小会显示为科学计数法,用f-string可以指定数字的显示格式。
    参考这里的说明:https://docs.python.org/zh-cn/3/library/string.html#formatspec

    f或F类型会用定点数输出数值,不会用科学计数法显示数字。用法如下:

    f'{num:f}’ 根据内容自动确定显示位数
    f'{num:5f}’ 最小总宽度显示为5位,不足部分在左边用空格填充,最大宽度则由内容决定
    f'{num:05f}’ 最小总宽度显示为5位,不足部分在左边用0填充,最大宽度则由内容决定
    f'{num:.2f}’ 小数点后最少显示5位,不足部分在右边用0填充,超出部分四舍五入
    f'{num:5.2f}’ 总宽度最少显示5位,不足部分在左边用空格填充,最大宽度则由内容决定,小数点后最少显示2位,不足部分在右边用0填充,超出部分四舍五入
    f'{num:05.2f}’ 总宽度最少显示5位,不足部分在左边用0填充,最大宽度则由内容决定,小数点后最少显示2位,不足部分在右边用0填充,超出部分四舍五入

    from decimal import Decimal
    
    num = Decimal("8.355")
    print(f'{num:f}')
    print(f'{num:5f}')
    print(f'{num:05f}')
    print(f'{num:.5f}')
    print(f'{num:5.2f}')
    print(f'{num:05.2f}')
    

    输出的结果为:

    8.355
    8.355
    8.355
    8.35500
     8.36
    08.36
    

    注意:
    python的四舍五入采用的是四舍六入五成双,具体可以看这篇文章:
    https://www.cnblogs.com/gxfaxe/p/14970856.html
    f-string的更多用法可以参考这里:
    https://zhuanlan.zhihu.com/p/668918715

    Views: 104