Метод big.Rat.FloatString

Метод big.Rat.FloatString преобразует рациональное число типа big.Rat в строковое представление с фиксированной точностью. В качестве параметра метод принимает количество знаков после запятой (целое неотрицательное число). Метод возвращает строку, содержащую десятичное представление числа с округлением до указанного количества знаков после запятой. Если число отрицательное, строка будет начинаться со знака минус.

Синтаксис

gorat.FloatString(prec)

Пример с положительным числом

Давайте преобразуем рациональное число 22/7 в строку с тремя знаками после запятой:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  rat := big.NewRat(22, 7)
  res := rat.FloatString(3)
  fmt.Println(res)
}

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

go"3.143"

Пример с отрицательным числом

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

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  rat := big.NewRat(-1, 3)
  res := rat.FloatString(2)
  fmt.Println(res)
}

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

go"-0.33"

Пример с нулевой точностью

Давайте преобразуем рациональное число 5/2 в строку с нулевым количеством знаков после запятой:

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  rat := big.NewRat(5, 2)
  res := rat.FloatString(0)
  fmt.Println(res)
}

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

go"3"

Пример с большим количеством знаков

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

gopackage main

import (
  "fmt"
  "math/big"
)

func main() {
  rat := big.NewRat(1, 7)
  res := rat.FloatString(10)
  fmt.Println(res)
}

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

go"0.1428571429"

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

  • метод big.Rat.SetFrac,
    который устанавливает значение рационального числа из числителя и знаменателя
  • тип big.Rat,
    который представляет рациональное число с произвольной точностью
  • тип big.Float,
    который представляет число с плавающей точкой с произвольной точностью
  • тип big.Int,
    который представляет целое число с произвольной точностью