5.4.4 将浮点值转换为整数
math模块中有3个函数用于将浮点值转换为整数。这3个函数分别采用不同的方法,并
适用于不同的场合。
最简单的是trunc(),其会截断小数点后的数字,只留下构成这个值整数部分的有效数字.floor()将其输入转换为不大于它的最大整数,ceil()(上限)会生成按顺序排在这个输入值之后的最小整数。
import math
HEADINGS = ('i','int','truck','floor','ceil')
print('{:^5} {:^5} {:^5} {:^5} {:^5}'.format(*HEADINGS))
print('{:-^5} {:-^5} {:-^5} {:-^5} {:-^5}'.format('','','','','',))
fmt = '{:5.1f} {:5.1f} {:5.1f} {:5.1f} {:5.1f}'
TEST_VALUES = [
-1.5,
-0.8,
-0.5,
-0.2,
0,
0.2,
0.5,
0.8,
1,
]
for i in TEST_VALUES:
print(fmt.format(
i,
int(i),
math.trunc(i),
math.floor(i),
math.ceil(i),
))
trunc()等价于直接转换为int。
运行结果: