В Turbo Pascal, если я не ошибаюсь, процедура val, давала результат 12 и указывала, что ошибка в 3-м символе.
FPC результирует в 0. StrToInt, говорит, что некоректное числовое значение.
Есть ли простой метод получить 12?
Модератор: Модераторы
GAMER писал(а):число пишет, а буквы отбрасывает
VirtUX писал(а):GAMER писал(а):число пишет, а буквы отбрасывает
ввод в заблуждение! ИМХО.
GAMER писал(а):Как перевести в число строку '12k'?
GAMER писал(а):FPC результирует в 0. StrToInt, говорит, что некоректное числовое значение.
var k: real; r:byte; st: ansistring;
begin
val('12',k,r);
write(k,' ',r);
val('12a',k,r);
write(k,' ',r);
end.
procedure TForm1.Button1Click(Sender: TObject);
var k: real; r:byte; st: ansistring;
begin
val('12a',k,r);
Memo1.Lines.Add(FloatToStr(k)+' '+IntToStr(r)+' '+'12a');
Memo1.Lines.Add('');
if r > 0 then
begin
val(Copy('12a', 1, r-1), k, r);
Memo1.Lines.Add(FloatToStr(k)+' '+IntToStr(r)+' '+'12a');
end
end;
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11