python找茬系列10--ceil()、floor()和 ro
2019-07-31 本文已影响0人
young十三
一、区别
序号 | 名称 | 描述 | 备注 |
---|---|---|---|
1 | ceil | ceil() 函数返回数字的上入整数。 | 不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。 |
2 | floor | floor() 返回数字的下舍整数。 | 不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。 |
3 | round | round() 方法返回浮点数x的四舍五入值。 | round( x [, n] ) |
floor:地板; 地面; ceil:天花板
二、实例
1、ceil
Return the ceiling of x as an Integral.
This is the smallest integer >= x.
翻译过来:大于等于x的最小整数
import math # This will import math module
print("math.ceil(-45.17) : ", math.ceil(-45.17))
print("math.ceil(100.12) : ", math.ceil(100.12))
print("math.ceil(100.72) : ", math.ceil(100.72))
print("math.ceil(119L) : ", math.ceil(119))
print("math.ceil(math.pi) : ", math.ceil(math.pi))
输出结果:
math.ceil(-45.17) : -45
math.ceil(100.12) : 101
math.ceil(100.72) : 101
math.ceil(119L) : 119
math.ceil(math.pi) : 4
2、floor
Return the floor of x as an Integral.
This is the largest integer <= x.
翻译过来:小于等于x的最大整数
import math # This will import math module
print("math.floor(-45.17) : ", math.floor(-45.17))
print("math.floor(100.12) : ", math.floor(100.12))
print("math.floor(100.72) : ", math.floor(100.72))
print("math.floor(119L) : ", math.floor(119))
print("math.floor(math.pi) : ", math.floor(math.pi))
输出结果:
math.floor(-45.17) : -46
math.floor(100.12) : 100
math.floor(100.72) : 100
math.floor(119L) : 119
math.floor(math.pi) : 3
3、round
描述
round() 方法返回浮点数x的四舍五入值。
语法
以下是 round() 方法的语法:
round( x [, n] )
参数
- x -- 数值表达式。
- n -- 小数位。
返回值
第一个参数是一个浮点数,第二个参数是保留的小数位数,可选,如果不写的话默认保留到整数。
实例
print("round(80.23456, 2) : ", round(80.23456, 2))
print("round(100.000056, 3) : ", round(100.000056, 3))
print("round(-100.000056, 3) : ", round(-100.000056, 3))
输出结果:
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
三、round的坑
Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> round(2.355,2)
2.35
>>>
注:环境为 python3.7.2
因为该函数对于返回的浮点数并不是按照四舍五入的规则来计算,而会收到计算机表示精度的影响。
四、赠语
少年易老学难成,一寸光阴不可轻。
未觉池塘春草梦,阶前梧叶已秋声。