преобразование строки в целое число в Паскале, как это сделать? - PullRequest
5 голосов
/ 05 ноября 2010

Как преобразовать число, напечатанное в строке, в целое число?

Спасибо.

Ответы [ 5 ]

9 голосов
/ 05 ноября 2010

Процедура Val:

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

Эта процедура работает с десятичными и действительными числами.

Параметры:

  • Sпоследовательность символов;для правильного преобразования он должен содержать '+', '-', ',', '.', '0' .. '9'.
  • V Результат конвертации.Если результат будет целым числом, тогда S не может содержать ',', '.'.
  • C Возвращает позицию символа из S, прерывающую преобразование.

Варианты использования:

Var Value :Integer;

Val('1234', Value, Code);  // Value = 1234, Code = 0
Val('1.234', Value, Code); // Value = 0, Code = 2
Val('abcd', Value, Code);  // Value = 0, Code = 1
1 голос
/ 13 октября 2014

Вы можете использовать как это,

var

i: integer;
s: string;
begin
str(i, s);
write(i);
1 голос
/ 05 ноября 2010

Вы хотите Val().

1 голос
/ 05 ноября 2010

Вы можете использовать функцию Val.

Пример:

var
   sNum: String;
   iNum: Integer;
   code: Integer;

begin
   s := '101';
   Val(s, iNum, code); 
end.
0 голосов
/ 05 ноября 2010
 Textval := '123';
    Val(Textval, Number, Code)  ---> Code = 0, Number = 123

   Textval := '12345x2';
   Val( Textval, Number, Code)  ---> Code = 6,  Number remains unchanged;

Val (TextVal, Number, Code), который преобразует строку в число. по возможности результат кода = 0, номер ошибки индикации один раз.

...