Метод big.Float.Text

Метод big.Float.Text преобразует число с плавающей точкой из пакета math/big в строковое представление. Он принимает два параметра: первый — это формат вывода (символ 'e', 'E', 'f', 'g', 'G'), второй — точность (количество знаков после запятой или общее количество значащих цифр в зависимости от формата). Метод возвращает строку с числом в указанном формате.

Синтаксис

gobigFloat.Text(format byte, prec int) string

Пример

Давайте создадим число с плавающей точкой и преобразуем его в строку с форматом 'f' и точностью 3:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  f := big.NewFloat(123.456789)
  res := f.Text('f', 3)
  fmt.Println(res)
}

Результат выполнения кода:

go"123.457"

Пример

Давайте преобразуем число в экспоненциальный формат с использованием 'e' и точностью 4:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  f := big.NewFloat(123.456789)
  res := f.Text('e', 4)
  fmt.Println(res)
}

Результат выполнения кода:

go"1.2346e+02"

Пример

Давайте используем формат 'g' для автоматического выбора между 'f' и 'e' в зависимости от величины числа:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  f := big.NewFloat(123.456789)
  res := f.Text('g', 5)
  fmt.Println(res)
}

Результат выполнения кода:

go"123.46"

Пример

Давайте посмотрим, как метод обрабатывает число с высокой точностью:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  f := new(big.Float)
  f.SetString("123.456789123456789")
  res := f.Text('f', 10)
  fmt.Println(res)
}

Результат выполнения кода:

go"123.4567891235"

Смотрите также

  • метод big.Float.SetPrec,
    который устанавливает точность числа с плавающей точкой
  • метод big.Float.Add,
    который выполняет сложение двух чисел с плавающей точкой
  • метод big.Float.Mul,
    который выполняет умножение двух чисел с плавающей точкой
  • функцию big.NewFloat,
    которая создает новое число с плавающей точкой