gpt4 book ai didi

algorithm - 如何用golang得到小数点后两位的长度?

转载 作者:数据小太阳 更新时间:2023-10-29 03:40:23 26 4
gpt4 key购买 nike

从下面的源代码中,我想得到浮点类型的结果 33.33。如果使用 fmt.Sprintf("%.2f", v) 可以很好地工作。但是想在 floatTest 函数中得到结果。怎么办?

func main() {
v := floatTest(30, 90)
fmt.Println(v)
// 33.33333333333333
vv := fmt.Sprintf("%.2f", v)
fmt.Println(vv)
// 33.33
}

func floatTest(count float64, total float64) float64 {
return (count / total * 100)
}

最佳答案

乘以 100;通过 int 转换截断;转换回 float32 并除以 100:

func precision2(f float64) float64 {
return float64(int(f*100)) / 100
}

https://play.golang.org/p/jbsdeQKgJji

link有使用 math 包的示例 - 但我通常尽量避免包含用于琐碎操作的包。

关于algorithm - 如何用golang得到小数点后两位的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57067724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com