Функция strconv.FormatComplex

Функция strconv.FormatComplex преобразует комплексное число типа complex128 в строковое представление. В первый параметр мы передаем комплексное число, во второй параметр - формат вывода (например, 'f' для десятичного формата), в третий параметр - количество знаков после запятой, а в четвертый - разрядность числа (64 или 128). Функция возвращает строку, представляющую комплексное число в формате "(real+imag i)".

Синтаксис

gostrconv.FormatComplex(complexNumber, format, precision, bitSize)

Пример

Давайте преобразуем комплексное число 1 + 2i в строку с десятичным форматом и двумя знаками после запятой:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.FormatComplex(1+2i, 'f', 2, 128)
  fmt.Println(res)
}

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

go"(1.00+2.00i)"

Пример

Давайте преобразуем комплексное число 3.14 - 1.5i в строку с научным форматом и тремя знаками после запятой:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.FormatComplex(3.14-1.5i, 'e', 3, 128)
  fmt.Println(res)
}

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

go"(3.140e+00-1.500e+00i)"

Пример

Давайте преобразуем комплексное число -2.5 + 7i в строку с форматом 'g' (автоматический выбор формата) и нулевой точностью:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.FormatComplex(-2.5+7i, 'g', -1, 128)
  fmt.Println(res)
}

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

go"(-2.5+7i)"

Пример

Давайте преобразуем комплексное число с разрядностью 64 для демонстрации потери точности:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  res := strconv.FormatComplex(1.123456789+2.987654321i, 'f', 8, 64)
  fmt.Println(res)
}

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

go"(1.12345679+2.98765432i)"

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

  • функцию strconv.ParseComplex,
    которая преобразует строку в комплексное число
  • функцию strconv.FormatFloat,
    которая преобразует число с плавающей точкой в строку
  • функцию strconv.FormatInt,
    которая преобразует целое число в строку
  • функцию strconv.FormatBool,
    которая преобразует логическое значение в строку