Python 3.x四舍五入

问题描述 投票:0回答:1

我知道关于python取整的问题已经被问过多次了,但是答案并没有帮助我。我正在寻找一种将浮点数四舍五入并返回浮点数的方法。该方法还应该接受一个参数,该参数定义要舍入的小数位。我写了一种实现这种舍入的方法。但是,我认为它看起来一点也不优雅。

def round_half_up(number, dec_places):
    s = str(number)

    d = decimal.Decimal(s).quantize(
        decimal.Decimal('0.' + '0' * dec_places),
        rounding=decimal.ROUND_HALF_UP)

    return float(d)

我不喜欢它,我必须将float转换为字符串(以避免浮点数不准确),然后使用decimal模块。我认为decimal.Decimal('0.' + '0' * dec_places)也看起来很丑。您有更好的解决方案吗?

python python-3.x rounding
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.