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

Как преобразовать строку в число паскаль

Процедура Val

Процедура Val в Паскале вычисляет числовое (перечисляемое) значение из строкового типа. Синтаксис:

Процедура Val в Delphi, Lazarus и Паскале преобразует значение, представленное в строке S в числовое значение или перечисляемое значение, и сохраняет это значение в переменной V, которая может быть типа Longint, Real или Byte, или любого перечисляемого типа.

Если преобразование не удалось, то параметр Code содержит индекс символа в строке S, который помешал преобразованию (вызвал ошибку).

Строка может содержать пробелы в начале.

Строка может содержать число в десятичном, шестнадцатеричном, двоичном или восьмеричном формате.

Для перечисляемых значений строка должна быть именем перечисляемого значения. Имя распознаётся без учета регистра.

Для шестнадцатеричных значений также можно использовать префикс 0x или x (без учета регистра).

Преобразование в перечисление поддерживается только с версии компилятора FreePascal 2.3.1 (или более поздней).

Если преобразование не удалось, значение параметра Code указывает позицию, в которой преобразование пошло не так. Значение V в этом случае не определено.

В любом языке программирования имеется множество функций для преобразования типов. И в Паскале их тоже очень много. Но процедуру Val во многих случаях использовать удобнее, потому что:

  • Не надо подключать дополнительные модули.
  • Ошибка преобразования не приводит к аварийному завершению программы.
  • Процедура может работать с разными представлениями чисел.

Пояснять тут особо нечего — всё рассказано в комментариях. Для лучшего понимания работы программы см. рисунок:

string to integer conversion in Pascal, How to do it?

How to convert a number printed in a string into integer?

5 Answers 5

The is procedure Val:

This procedure operate on decimal and real numbers.

Parmeters:

  • S char sequence; for proper conversion it has to contain ‘+’, ‘-‘, ‘,’, ’.’, ’0’..’9’.
  • V The result of conversion. If result going to be an Integer then S can’t contain ‘,’, ’.’.
  • C Return the position of the character from S, that interrupt the conversion.

Use cases:

You can use Val function.

You can use like this,

Val( TextVal, Number , Code) which converts String to a number. if possible the result of code = 0, elese error indication number.

Not the answer you're looking for? Browse other questions tagged pascal or ask your own question.

Linked
Related
Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Как приоброзовать строку в число. Pascal. Например дана строка «123456789» , нужно её перевести в число. HelP!

begin
writeln(‘Введите число! ‘);
readln(stroka);
val(stroka, chislo, error);
if error = 0 then writeln(chislo) else writeln(‘Вы ввели не число! ‘)
end.

А еще лучше так

var
stroka: string; chislo, error: integer;

begin
repeat
writeln(‘Введите число! ‘);
readln(stroka);
val(stroka, chislo, error);
until error=0;
writeln(‘Преобразовали: ‘,chislo)
end.

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

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