目前,math.Pow()
和math.sqrt
采用float64
类型参数。
我们是否具有采用int
类型参数的等效函数?
答案 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可能是值得的。