cpp

Преобразование числа в строку

Преобразовать число (а также любой другой тип данных) в строку позволяют следующие функции из пакета fmt:

  • Sprintln() — возвращает строку, состоящую из переданных значений. Между значениями вставляется пробел, а в конец строки добавляется символ перевода строки. Формат функции:
fmt.Sprintln(a ...interface{}) string

Пример:

var x int = 20
var s string = fmt.Sprintln("x =", x)
fmt.Printf("%q", s) // "x = 20\n"
  • Sprint() — возвращает строку, состоящую из переданных значений. В отличие от функции Sprintln() функция Sprint() не всегда добавляет пробел между данными. Если с одной из сторон находится строка, то пробел не добавляется. Символ перевода строки в конец не добавляется. Формат функции:
fmt.Sprint(a ...interface{}) string

Пример:

var x int = 20
var s string = fmt.Sprint("x =", x)
fmt.Printf("%q", s) // "x =20"
  • Sprintf() — возвращает строку в соответствии со строкой формата. Внутри строки формата можно указать обычные символы и спецификаторы формата, начинающиеся с символа % (см. описание функции Printf() в разд. 1.9). Количество спецификаторов должно совпадать с количеством переданных параметров. Формат функции:
fmt.Sprintf(format string, a ...interface{}) string

Пример:

var x int = 20
var s string = fmt.Sprintf("x = %d", x)
fmt.Printf("%q", s) // "x = 20"

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

  • Itoa() — преобразует целое число в строку. Формат функции:
strconv.Itoa(i int) string

Пример:

// import "strconv"
fmt.Println(strconv.Itoa(128)) // 128
  • FormatInt() — преобразует целое число в строку. Во втором параметре указывается система счисления (число от 2 до 36). Формат функции:
strconv.FormatInt(i int64, base int) string

Пример:

fmt.Println(strconv.FormatInt(119, 10)) // 119
fmt.Println(strconv.FormatInt(119, 2))  // 1110111
fmt.Println(strconv.FormatInt(119, 8))  // 167
fmt.Println(strconv.FormatInt(255, 16)) // ff
  • FormatUint() — преобразует целое число без знака в строку. Во втором параметре указывается система счисления (число от 2 до 36). Формат функции:
strconv.FormatUint(i uint64, base int) string

Пример:

fmt.Println(strconv.FormatUint(119, 10)) // 119
fmt.Println(strconv.FormatUint(119, 2))  // 1110111
fmt.Println(strconv.FormatUint(119, 8))  // 167
fmt.Println(strconv.FormatUint(255, 16)) // ff
  • FormatFloat() — преобразует вещественное число в строку. Формат функции:
strconv.FormatFloat(f float64, fmt byte, prec int,
                    bitSize int) string

Во втором параметре указывается формат в виде символов: 'f', 'e', 'E', 'g', 'G', 'p', 'x' или 'X'. В параметре prec задается максимальное количество цифр после десятичной точки. Если указано значение -1, то будет использоваться наименьшее необходимое количество цифр. В параметре bitSize можно указать значения 32 (для float32) или 64 (для float64). Пример:

fmt.Println(strconv.FormatFloat(1.5, 'f', -1, 64))    // 1.5
fmt.Println(strconv.FormatFloat(1.5, 'f', 5, 64))     // 1.50000
fmt.Println(strconv.FormatFloat(1.56789, 'f', 3, 64)) // 1.568
fmt.Println(strconv.FormatFloat(0.0005, 'e', -1, 64)) // 5e-04
fmt.Println(strconv.FormatFloat(0.0005, 'E', -1, 64)) // 5E-04
fmt.Println(strconv.FormatFloat(0.0005, 'g', -1, 64)) // 0.0005
fmt.Println(strconv.FormatFloat(5e10, 'G', -1, 64))   // 5E+10
  • FormatComplex() — преобразует комплексное число в строку. Формат функции:
strconv.FormatComplex(c complex128, fmt byte, prec int,
                      bitSize int) string

Во втором параметре указывается формат в виде символов: 'f', 'e', 'E', 'g', 'G', 'p', 'x' или 'X'. В параметре prec задается максимальное количество цифр после десятичной точки. Если указано значение -1, то будет использоваться наименьшее необходимое количество цифр. В параметре bitSize можно указать значения 64 (для complex64) или 128 (для complex128). Пример:

fmt.Println(strconv.FormatComplex(complex(1, 2), 'f', -1, 128))
// (1+2i)

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp