加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python有条件地舍入数字

发布时间:2020-12-20 11:24:54 所属栏目:Python 来源:网络整理
导读:今天我有一个问题,关于使用 Python中的条件来舍入数字. 我正在做一个销售网站,我的客户希望根据结果将价格从美元兑换成哥伦比亚比索来收集价格.例如:200美元到COP导致353990 COP,它应该四舍五入到359000. 他已经在Excel中实现了一个功能: =IF(F4=10000000,
今天我有一个问题,关于使用 Python中的条件来舍入数字.

我正在做一个销售网站,我的客户希望根据结果将价格从美元兑换成哥伦比亚比索来收集价格.例如:200美元到COP导致353990 COP,它应该四舍五入到359000.

他已经在Excel中实现了一个功能:

=IF(F4>=10000000,(ROUNDUP(F4,-6)-100000),IF(F4>=1000000,-5)-10000),IF(F4>=100000,-4)-1000),IF(F4>=10000,-3)-1000),IF(F4>=0,-3)))))))

我需要做同样的事情,但在Python中,我不知道如何做到这一点.

谢谢你的帮助!

解决方法

def round_up(value,multiple):
    return multiple * math.ceil(float(value) / multiple)

def digits(value):
    return int(math.log(value,10)) + 1

def round_price(value):
    if value < 10000:
        return int(round_up(value,1000))
    d = digits(value)
    new_value = int(round_up(value,10 ** (d - 2)))
    new_value -= 10 ** (d - 3)
    return new_value

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读