Документация
Уроки Открыть IDE
На главную
Урок 6

Преобразования данных

Как превратить число в строку и наоборот — без магии и неожиданностей

Нельзя подменить тип

Как вы уже знаете, Idyllium не разрешает присваивать переменной значение, не подходящее по типу:

Это не ограничение — это защита от хаоса. Но что, если вам нужно преобразовать число в строку или наоборот?

Функция to_string()

Функция to_string() превращает число в строку:

Теперь переменная S содержит строку "241", а не число — и её можно использовать в операциях со строками.

Что такое функция?

Функция — это механизм, который превращает одни данные в другие.

Числовая сумма: 50 Строковая сумма: 2030

Обратите внимание: числовая сумма — это 20 + 30 = 50, а строковая «сумма» — это конкатенация: "20" + "30" = "2030". Функция to_string() даёт вам контроль над тем, как данные будут интерпретироваться.

Обратное преобразование: to_int()

Чтобы превратить строку в число, используйте to_int():

Функция to_int("345") порождает число 345, которое можно использовать в арифметике.

Преобразование в дробное число: to_float()

Функция to_float("1.6") порождает значение 1.6 типа float.

Практическое применение

Преобразования особенно полезны, когда вы хотите динамически собирать управляющие последовательности — например, для цвета текста:

Пример выполнения (пользователь выбрал вариант 2):

Будем красить текст! Варианты: 1) Красный 2) Зелёный 3) Жёлтый 4) Синий Выбирайте: 2 Покрашено!

Без to_string() такой трюк был бы невозможен: нельзя склеить строку и число напрямую.

Ошибки при преобразовании

Функции преобразования работают только с корректными данными:

Если в строке нет числа, to_int() и to_float() завершится с ошибкой. Это не баг — это защита от неверных допущений.

Итог: три функции преобразования

  • to_string(x) — порождает из любого аргумента строку;
  • to_int(s) — порождает из аргумента целое число, если это возможно;
  • to_float(s) — порождает из аргумента дробное число, если это возможно.

Все преобразования — явные. Idyllium никогда не угадывает ваши намерения. Он требует, чтобы вы чётко сказали: «Хочу строку из числа» или «Хочу число из строки».