Val, процедура

Синтаксис


procedure Val(const S: string; var Result; var Code: Integer);

Описание

Процедура Val преобразует строку в числовое значение. Аргумент Result может быть целой, Int64 или вещественной переменной. Если преобразование прошло успешно, Code равен нулю. Иначе значение Code обозначает позицию в строке, где Val впервые столкнулась с ошибкой формата. Val не является настоящей процедурой.

Ошибки

Советы и приемы

Для преобразования строки в вещественное число вызывайте функции преобразования строк из модуля SysUtils вместо Val. Проблема состоит в том, что Val не обращает внимание на локальные настройки разделителя десятичных знаков, делая процедуру бесполезной в интернациональной среде.

Пример


// Запрашиваем от пользователя число и возвращаем число, которое
// он ввел. Если пользователь ввел неверное-значение, сообщаем
// что произошла опечатка, и просим повторить попытку.
function GetNumber(const  Prompt:   String): Int64;
var
  S: string;
  Code: Integer;
begin
  repeat
    Write(Prompt);
    ReadLn(S);
    Val(S, Result, Code);
    if Code <> 0 then
    begin
      WriteLn(S);
      WriteLn('^' :Code, ' неверное значение');
    end;
  until Code =0;
end;

Смотрите также

Процедура Str.
    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот:  
Ваш комментарий: