В настоящее время math.Pow()
и math.sqrt
принимают float64
аргументы типа.Целочисленные функции квадратного и квадратного корня
Есть ли у нас эквивалентные функции, которые принимают аргументы типа int
?
В настоящее время math.Pow()
и math.sqrt
принимают float64
аргументы типа.Целочисленные функции квадратного и квадратного корня
Есть ли у нас эквивалентные функции, которые принимают аргументы типа int
?
Что вы можете сделать, это лить под давлением поплавок на ваше значение.
int a=10,b=2;
math.Pow(float(a),float(b));
'float' удален – user2418306
Просто создайте объект float64, используя значение int. Пример, если INT = 10.
var x float64 = 10
var b = math.Pow(2, x)
Есть быстрые приближенные алгоритмы, описанные в другом месте на SO, такие как this one. Если производительность важна, перенос одного из алгоритмов C на Go может стоить усилий.
Если ваше возвращаемое значение является поплавком, вы можете использовать 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
Имейте в виду, что покрытие по-прежнему возвращает float64, так что вы все еще хотите, чтобы обернуть его в междунар()
Вы можете проверить здесь http://golang.org/pkg/math/, они не предоставляются. – Akavall