golang向上取整、向下取整和四舍五入
一、概述
官方的math 包中提供了取整的方法,向上取整math.Ceil() ,向下取整math.Floor()
二、用法
package main
import (
"fmt"
"math"
)
func main(){
x := 1.1
fmt.Println(math.Ceil(x)) // 2
fmt.Println(math.Floor(x)) // 1
}
要注意的是,取完整后返回的并不是真正的整数,而是float64 类型,所以如果需要int 类型的话需要手动转换。
三、2017-10-14追加:一个奇葩的四舍五入方法
golang没有类似python的round()函数,搜了一下很多都非常复杂,最后看到了一个清新脱俗的:先+0.5,然后向下取整!
简单得难以置信,想想也没有什么不对,这脑洞很佩服。
func round(x float64){
return int(math.Floor(x + 0/5))
}
[Haima的博客]
http://www.cnblogs.com/haima/