18
Oct

GO关于float类型四舍五入的方法

GO语言float取整有两种方式:向下取整math.Floor() 和向上取整math.Ceil();

分别通过+0.5和-0.5都可以实现四舍五入,但……

x := 0.2
fmt.Println("x四舍五入后:", math.Ceil(x-0.5))

运行结果为:

x四舍五入后: -0

 为了防止意外,还是采用+0.5向下取整比较合适:

number := []float64{3.14, 8.93, 2.41, 6.2, 5, 0.9, 0.1, 47.5}
for _, value := range number{
   fmt.Println("参考值:", value, "  向下取整:", math.Floor(value), 
   "向上取整:", math.Ceil(value), "  四舍五入:", math.Floor(value+0.5))
}

运行结果为:

参考值: 3.14   向下取整: 3   向上取整: 4   四舍五入: 3
参考值: 8.93   向下取整: 8   向上取整: 9   四舍五入: 9
参考值: 2.41   向下取整: 2   向上取整: 3   四舍五入: 2
参考值: 6.2   向下取整: 6   向上取整: 7   四舍五入: 6
参考值: 5   向下取整: 5   向上取整: 5   四舍五入: 5
参考值: 0.9   向下取整: 0   向上取整: 1   四舍五入: 1
参考值: 0.1   向下取整: 0   向上取整: 1   四舍五入: 0
参考值: 47.5   向下取整: 47   向上取整: 48   四舍五入: 48


结论,推荐这种方式:

math.Floor(value+0.5)


阿里云“99套餐”,新老同享,低价长效,助力开发者普惠上云!

About Me

Nothing is impossible!

Friends
倩倩的网站儿子的网站丽丽
助力快速上云,让学生、开发者、企业用云无忧。!
CATEGORIES
Tags
ChatGPT四舍五入GOBeatles想像冰雪奇缘北京编程SSL证书认知障碍Docker春天行政区域名列表域名体系nginxopen_basedir思维指令编程语言程序URL网站上线域名FTP云服务器搜索引擎JSCSS网页超链接聚合内容列表元素网页构成网站的构成网站的分类网站单标签HTML第一个网页简单网页博域科技2018香山春游AJAX字体
Copyright©2022 王阳 版权所有  京ICP备14005672号-6