Метод big.Int.SetString
Метод big.Int.SetString преобразует строковое представление числа в значение типа big.Int.
В первый параметр передается строка, содержащая числовое значение, во второй параметр - основание системы счисления.
Метод возвращает указатель на big.Int и булево значение, указывающее на успешность преобразования.
Если преобразование не удалось, возвращается nil и false.
Синтаксис
func (z *Int) SetString(s string, base int) (*Int, bool)
Пример
Давайте преобразуем десятичное число из строки в big.Int:
package main
import (
"fmt"
"math/big"
)
func main() {
var num big.Int
res, ok := num.SetString("12345678901234567890", 10)
if ok {
fmt.Println(res)
}
}
Результат выполнения кода:
"12345678901234567890"
Пример
Давайте преобразуем шестнадцатеричное число из строки в big.Int:
package main
import (
"fmt"
"math/big"
)
func main() {
var num big.Int
res, ok := num.SetString("1A3F", 16)
if ok {
fmt.Println(res)
}
}
Результат выполнения кода:
"6719"
Пример
Давайте преобразуем двоичное число из строки в big.Int:
package main
import (
"fmt"
"math/big"
)
func main() {
var num big.Int
res, ok := num.SetString("101010", 2)
if ok {
fmt.Println(res)
}
}
Результат выполнения кода:
"42"
Пример
Давайте проверим обработку ошибки при некорректной строке:
package main
import (
"fmt"
"math/big"
)
func main() {
var num big.Int
_, ok := num.SetString("123abc", 10)
if !ok {
fmt.Println("conversion failed")
}
}
Результат выполнения кода:
"conversion failed"
Смотрите также
-
метод
big.Int.String,
который преобразуетbig.Intв строковое представление -
метод
big.NewInt,
который создает новыйbig.Intиз значенияint64 -
метод
big.Float.SetString,
который преобразует строку в число с плавающей точкой -
метод
big.Rat.SetFrac,
который создает рациональное число из числителя и знаменателя