官方的math
包中提供了取整的方法,向上取整math.Ceil()
,向下取整math.Floor()
1 2 3 4 5 6 7 8 9 10 | package main import ( "fmt" "math" ) func main(){ x := 1.1 fmt.Println(math.Ceil(x)) // 2 fmt.Println(math.Floor(x)) // 1 } |
要注意的是,取完整后返回的并不是真正的整数,而是float64
类型,所以如果需要int
类型的话需要手动转换。
golang没有类似python的round()函数,搜了一下很多都非常复杂,最后看到了一个清新脱俗的:先+0.5,然后向下取整!
简单得难以置信,想想也没有什么不对,这脑洞很佩服。
1 2 3 | func round(x float64){ return int(math.Floor(x + 0/5)) } |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)