🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
1. 取整的三种方法
1.1 强转int类型
这种方法会直接对浮点数的小数部分进行截断(无论是正还是负)。
print(int(2.7)) # 2
print(int(-2.7)) # -2
1.2 采用math.ceil和math.floor
这种方法的取整规则如下图所示:
可以看到无论是正数还是负数,都遵循:ceil
往数轴正方向取整,floor
往数轴负方向取整。实例如下:
print(math.ceil(-1.27)) # -1
print(math.floor(-1.27)) # -2
print(math.ceil(1.27)) # 2
print(math.floor(1.27)) # 1
1.3 采用round
round原型为round(value, ndigits)
,可以将一个浮点数取整到固定的小数位。该函数对正数和负数都采取就近取整原则,而当某个值恰好等于两个整数间一半时,取整操作会取到离该值最近的那个偶数。像1.5和2.5这样的值都会取整到2。示例如下:
print(round(1.23, 0)) # 1.0
print(round(1.23, 1)) # 1.2
print(round(1.27, 1)) # 1.3
print(round(-1.27, 1)) # -1.3
print(round(1.25361, 3)) # 1.254
print(round(1.5, 0)) # 2.0
print(round(2.5, 0)) # 2.0
传递给round()
参数ndigits
可以是负数,这种情况下回相应取整到十位、百位、千位:
a = 1627731
print(round(a, -1)) # 1627730
print(round(a, -2)) # 1627700
print(round(a, -3)) # 1628000