Страница 1 из 1
Перевод из строковых в числовые десятичной дробеи
Добавлено: 10 сен 2010, 11:36
Stallman
Я считывает символы и пытаюсь их перевести из строкового типа в чиловой для дальнейших рачотов ,но при вводе десятичной дроби например 0.5 происходит ошибка как это исправить?
Код: Выделить всё
var y1,y2: real;
x,code: integer;
C : string;
d: Char;
begin
ClrScr;
Write('Enter number: ');
ReadLn(C);
val(C, x,code);
Re: Перевод из строковых в числовые десятичной дробеи
Добавлено: 10 сен 2010, 17:56
BBB
Stallman писал(а):Я считывает символы и пытаюсь их перевести из строкового типа в чиловой для дальнейших рачотов ,но при вводе десятичной дроби например 0.5 происходит ошибка как это исправить?
А как Вы хотите записать дробное число в переменную типа integer?
Если допустимо вводить дробные числа, то:
Код: Выделить всё
var y1,y2: real;
(* x,code: integer; *)
code: integer;
x : real;
C : string;
d: Char;
begin
ClrScr;
Write('Enter number: ');
ReadLn(C);
val(C, x,code);
Если не допустмо, то надо анализировать значение
Code после вызова
Val. Если Code <> 0, то строка не преобразуема к числы, значение Code указывает на позицию в строке, содержащую недопустимый символ.