Преобразовать строку в число. Пример использования процедуры Val() в Паскаль
Primary tabs
Для преобразований строк в числа в Паскале используется стандартная процедура процедура $val()$ со следующей сигнатурой:
procedure Val(S; Var V; var Code : Integer);
где:
- $S$ - переменная со строковым типом (string). Должна представлять последовательность символов, формирующих знаковое целое число - это та строка, которую мы будем преобразовывать.
- $V$ - переменная типа Real или Integer (здесь имеет место перегрузка процедуры). В этой переменной будет содержаться число, если преобразование пройдёт успешно
- $Code$ - переменная типа Integer — позиция, в которой произошла ошибка при преобразовании, или нуль, если ошибки не было.
При этом следует отметить, что переменные $V$ и $Code$ принимаются переменной по ссылке -- то есть хотя процедура и не возвращает значений, но она изменит значения этих двух переменных в области вызова и таким образом можно будет получить результат преобразования.
Что делает процедура val()
Процедура $val()$ преобразовывает строковое значение $S$ в его числовое представление $V$.
Переменная $Code$ будет содержать номер позиции, в которой произошла ошибка при преобразовании, или нуль, если ошибки не было.
Пример использования $val()$
var I, Code : Integer; s: string; begin writeln('vvedite chislo:'); readln(s); { <-- получаем строковое представление числа (предположительно, строку цифр -- ведь на самом деле мы не знаем что введёт пользователь } // далее попытаемся преобразовать полученную строку в число Val(s, I, Code); // вызываем процедуру преобразования { Была ошибка при преобразовании ? } if (Code <> 0) then writeln('Oshibka pri preobrazovanii v pozicii : ', Code) else writeln('Uspeshno poluchili chislo = ', I); readln(); // удерживаем консоль end.
Источники:
- Val (процедура): http://pascal.net.ru/Val
- Log in to post comments
- 23153 reads