平方和平方根的整数函数

当前,math.Pow()math.sqrt采用float64类型参数。

我们有接受int类型参数的等效函数吗?


慕容708150
浏览 202回答 3
3回答

波斯汪

如果您的返回值是浮点数,您可以使用 math 包中的 Ceil 或 Floor,然后将其转换为 int。n := 5.5o := math.Floor(n)p := int(math.Pow(o, 2))fmt.Println("Float:", n)fmt.Println("Floor:", o)fmt.Println("Square:", p)5.5525请记住,Floor 仍然返回一个 float64,因此您仍然希望将它包装在 int() 中

子衿沉夜

只需使用 int 值创建一个 float64 对象。示例如果 int = 10。var x float64 = 10var b = math.Pow(2, x) 

喵喔喔

在 SO 上的其他地方描述了快速近似算法,例如this one。如果性能很重要,那么将其中一种 C 算法移植到 Go 可能是值得的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go