一、概述
官方的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))
}