如何解决python将数字舍入到特定值
我想写一个特定的舍入逻辑。
number = x
if x < 950:
# round number to and in steps of 50
elif x < 9000:
# round number to and in steps of 100
elif x < 100000:
# round number to and in steps of 250
else:
# round number to and in steps of 1000
这是我的想法,它是如何工作的。
例如,我需要什么,如果 x = 123,那么它应该四舍五入为 100。 如果 x = 170 它应该四舍五入到 200,然后例如对于 x = 8568 它应该四舍五入到 8600
解决方法
很可能不是最干净的方法,但是:
(x + step/2)//step*step
应该可以工作。
示例:
print((880+25)//50*50)
返回 900
。
回顾后,第一种技术仅适用于 10 的幂: def四舍五入(重要数字,数字): x = 数字/(10 **重要数字) 加 = 1 对于我在 str(x).split(".")[1] : 我 = 整数(i) 如果我 5 : 加 = 1 休息 返回 (int(x) + plus) * 10 **重要数字
或者更容易:
round(x/value)*value
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。