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))

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM