平方根和平方根的整数函数

时间:2015-01-06 17:26:20

标签: go

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

我们是否具有采用int类型参数的等效函数?

4 个答案:

答案 0 :(得分:2)

如果您的返回值是浮点数,您可以使用数学包中的Ceil或Floor,然后将其转换为int。

n := 5.5
o := math.Floor(n)
p := int(math.Pow(o, 2))

fmt.Println("Float:", n)
fmt.Println("Floor:", o)
fmt.Println("Square:", p)

5.5
5
25

请记住,Floor仍会返回一个float64,因此您仍然希望将其包装在int()

答案 1 :(得分:1)

使用int值创建一个float64对象。示例如果int = 10。

var x float64 = 10
var b = math.Pow(2, x) 

答案 2 :(得分:0)

您可以做的是为您的值输入 float

int a=10,b=2;
math.Pow(float(a),float(b));

答案 3 :(得分:0)

在SO的其他地方描述了快速近似算法,例如this one。如果性能很重要,将其中一个C算法移植到Go可能是值得的。