zoukankan      html  css  js  c++  java
  • python-对小数进行操作

    浮点数的一个普遍问题是它们并不能精确的表示十进制数。 并且,即使是最简单的数学运算也会产生小的误差,比如:

    a1 = 0.675412
    b1 = 0.675411
    print(a1 - b1)
    # 1.0000000000287557e-06

    如果你想更加精确(并能容忍一定的性能损耗),你可以使用 decimal 模块:
    from decimal import Decimal
    a = Decimal("0.543211")
    b = Decimal("0.543209")
    print(a - b) # 0.000002

    round函数四舍六入五平分(附四舍五入的方法)

    python3中round()对浮点数的取舍遵循的是四舍六入五平分 ,“五平分”就是根据取舍的位数前的小数奇偶性来判断,奇偶平分。奇数则舍弃,偶数则加一。

    round(2.135, 2)  # 2.13
    round(2.145, 2)  # 2.15
    我们可以使用Python提供的decimal模块。用于十进制数学计算,它具有以下特点:

    1.提供十进制数据类型,并且存储为十进制数序列;
    2.有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
    3.浮点:十进制小数点的位置不固定(但位数是固定的)

    from decimal import Decimal

    aa = Decimal('2.135').quantize(Decimal('0.00'))
    bb = Decimal('3.555').quantize(Decimal('0.00'))

    print(aa) # 2.14
    print(bb) # 3.56

  • 相关阅读:
    使用语句修改数据表结构
    C# 写日志到文件
    mysql 语句要求
    跨discuz站获取
    php 记录图片浏览次数次数
    js获取url传递参数值
    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因
    mkfs
    mount
    dd
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/12073022.html
Copyright © 2011-2022 走看看