float to int & float 精度转换

Float —> Int

Method1: int()

  1. int()不需要import math
  2. int() 直接舍弃小数点后位数
1
2
3
4
5
6
>>> int(3.5)
3
>>> int(3.8)
3
>>> int(3.1)
3

Method2: math.ceil(), math.floor()

  1. You need to import math
  2. math.ceil() return 最大值
  3. math.floor() return 最小值
1
2
3
4
5
>>> import math
>>> math.ceil(3.1)
4
>>> math.floor(3.5)
3

Method 3: round

1. 语法

1
round(x [, n])

2. 返回值

浮点数x的四舍五入值, 默认返回整数

3. 问题

round遇到5时,并不一定是四舍五入,受计算机精度影响

EX:

1
2
3
4
5
6
>>> round(3.6)
4
>>> round(3.1)
3
>>> round(3.5)
# 可能是3,也可能是4

float 精度转换

Method: round()

1
2
3
4
5
6
7
>>> round(2.333334,2)
2.33
>>> round(2.333334,1)
2.3
>>> round(2.333334,0)
2.0
# Note, when n == 0,return a float