Val паскаль что это
Перейти к содержимому

Val паскаль что это

  • автор:

Val паскаль что это

Переменная NumberVar должна соответствовать числовой строке. Должно быть обеспечено целочисленное строковое значение, чтобы получить целочисленный тип.

IntToStr Конвертирует целое число в строку

StrToInt Преобразует строку с целым значением в Integer

Пример кода : Иллюстрация успешного и неудачного преобразования строки с вещественным числом
var
numberString : string;
float : Extended;
errorPos : Integer;
begin
// Установка строки правильным с вещественным числом
numberString := ‘12345.678’;

// Его преобразование в значение
Val (numberString, float, errorPos);

// Показ строки и преобразованного значения
if errorPos = 0
then ShowMessageFmt(‘Val(%s) = %12.3f’,[numberString,float]);

// Val игнорирует Десятичный Разделитель, а конвертеры SysUtils — нет
DecimalSeparator := ‘_’;
numberString := ‘12345_678’;
Val (numberString, float, errorPos);
if errorPos = 0
then ShowMessageFmt(‘Val(%s) = %12.3f’,[numberString,float])
else ShowMessageFmt(‘Val(%s) потерпело неудачу в позиции %d’,
[numberString, errorPos]);
end;

Val(12345.678) = 12345.678
Val(12345_678) потерпело неудачу в позиции 6

Val паскаль что это

Val (процедура)
Навигация

Язык:
Русский
English

Преобразовывает строковое значение в его числовое представление.

Объявление

procedure Val(S; Var V; var Code : Integer );

S — переменная со строковым типом . Должна представлять
последовательность символов, формирующих знаковое целое число.
V — переменная типа Real или Integer
Code — переменная типа Integer

Режим

Windows, Real, Protected

Замечания

Преобразовывает строковое значение (S) в его числовое представление, как это происходит при чтении из текстового файла с помощью Read . Code — позиция, в которой произошла ошибка при преобразовании, или нуль, если ошибки не было.

См. также

Пример

Язык:
Русский
English

Val/ru

Процедура Val преобразовывает строку S в её числовое представление.

S — выражение строкового типа; оно должно быть последовательностью символов, образующей знаковое целое число. V — переменная целого или вещественного типа. Code — переменная типа Integer. Если строка некорректна, позиция ошибочного символа указывается в Code; в противном случае Code устанавливается равным 0.

procedure Val(S; var V; var Code: Integer);

Процедуры STR и VAL.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

Например, возьмем 2 числа: 125 и 347. Если эти числа записаны в строковых переменных, то с ними можно производить те действия, которые производятся над строками. Например, в результате операции сцепления 125+347 получится 125347. Если же данные числа будут записаны в переменных типа Integer или Real, то над ними можно производить операции, предусмотренные для чисел (сложение, вычитание умножение, деление, DIV, MOD и т.д.). Например, в результате операции сложения 125+347 получится 472.
В языке программирования Pascal предусмотрена возможность преобразования чисел в их символьное представление и наоборот.
Процедура STR преобразует число целого или вещественного типов в его строковое представление. Процедура имеет 2 параметра: STR (X, ST), где «X» — это число, а ST – его строковое представление. Также, можно указывать формат преобразования: STR(X:A:B, ST), где «A» задает ширину всего поля, которое выделяется для строкового представления числа, а «B» — количество символов в дробной части (последний параметр имеет значение в том случае, если преобразуется вещественное число). Процедура STR делает с числом то же, что и оператор Writeln перед тем как вывести число на экран (преобразует число в символ).
Процедура VAL преобразует строковое представление числа в само число, которое можно записать в целочисленную или вещественную переменную. Процедура имеет 3 параметра: VAL (ST, X, CODE), где ST – строка, которую необходимо преобразовать в число, X – вещественная или символьная переменная, в которую записывается это число, CODE – необязательный параметр, который, в случае ошибки будет содержать номер позиции, в которой обнаружен ошибочный символ.

Использование процедуры STR.

program string7; uses crt; var stroka,stroka1,stroka2:string; x,y,z:integer; begin clrscr; x:=1234; y:=5678; z:=x+y; writeln(z); str(x,stroka1); str(y,stroka2); stroka:=stroka1+stroka2; writeln(stroka); readln end.

Строка №3. Создаем 3 строковые переменные.

Строка №4. Создаем 3 целочисленные переменные.

Строка №7. В 1-ую переменную типа Integer записываем число 1234.

Строка №8. Во 2-ую переменную типа Integer записываем число 5678.

Строка №9. Складываем эти числа, результат записываем в 3-ю переменную.

Строка №10. Выводим результат на экран.

Строка№11. Переводим 1-ое число в его строковое представление, результат сохраняем в переменной «stroka1».

Строка №12. Переводим 2-ое число в его строковое представление результат сохраняем в переменной «stroka2».

Строка №13. Производим над строками операцию сцепления и записываем результат в переменную «stroka».

Строка №14. Выводим результат на экран.

procedura Str

procedura Str.

О процедуре STR также можно прочитать в разделе, посвященному графике в Pascal.

Использование процедуры VAL.

Напишем программу, в которой строковой переменной будет присвоено значение, определяющее дату, например, 23.02.1965. Пусть эта дата обозначает год вашего рождения. Программа, должна подсчитать, сколько вам лет на текущий момент. Текущим моментом будем считать 2012 год.

program string8; uses crt; var stroka1,stroka2:string; rog, let:integer; begin clrscr; stroka1:='23.02.1965'; stroka2:=copy(stroka1,7,4); val(stroka2,rog); let:=2012-rog; writeln(let); readln end.

Строка №7. В переменную «stroka1» записываем дату рождения.

Строка №8. В переменную «stroka2» копируем из переменной «stroka1» последние 4 символа, 1965.

Строка №9. Преобразовываем эти 4 символа в число и записываем это число в целочисленную переменную «rog».

Строка №10. В целочисленную переменную «let» записываем значение, которое получится при вычитании из числа 2012 числа 1965.

Строка №11. Выводим значение переменной «let» на экран.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *