golang math.Floor实现四舍五入

今天在实现一个数据时总是因为取不到具体的数值而出现误差,问了下golang群里的小伙伴,最终得以解决,仅以此篇记录golang四舍五入的知识点。
golang中,目前还没有一个直接函数可以实现四舍五入,所以需要在取值之前需要先额外的加一个0.5,如下代码所示:

package main

import (
    "fmt"
    "math"
)

func main()  {
    x:=2.0/3.0
    a:=math.Floor(x)
    b:=math.Floor(x+0.5)
    y:=1.0/3
    e:=math.Floor(y)
    f:=math.Floor(y+0.5)
    z:=1.0/2
    m:=math.Floor(z)
    n:=math.Floor(z+0.5)
    fmt.Printf("x=%f,a=%f,b=%f,\ny=%f,e=%f,f=%f,\nz=%f,m=%f,n=%f",x,a,b,y,e,f,z,m,n)
}

输出结果:

x=0.666667,a=0.000000,b=1.000000,
y=0.333333,e=0.000000,f=0.000000,
z=0.500000,m=0.000000,n=1.000000

主要用了math中的floor方法,其中变量b、f、n就是实现的四舍五入后的值

    原文作者:大雁儿
    原文地址: https://www.jianshu.com/p/e2dc31ce0e82
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞