golang向上取整、向下取整和四舍五入

golang向上取整、向下取整和四舍五入,第1张

一、概述

官方的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 类型的话需要手动转换。

2017-10-14追加:一个奇葩的四舍五入方法

golang没有类似python的round()函数,搜了一下很多都非常复杂,最后看到了一个清新脱俗的:先+0.5,然后向下取整!

简单得难以置信,想想也没有什么不对,这脑洞很佩服。

1
2
3
func round(x float64){
    return int(math.Floor(x + 0/5))
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/996001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存