Val

BcbMan
Val
Moduł: System
```delphi procedure Val(S; var V; var Code: Integer); ``` [[Delphi/Procedury i funkcje|Procedura]] konwertuje wartość tekstową na liczbę całkowitą bądź zmiennoprzecinkową (zawierającą ułamek dziesiętny).

Parametr S, jest to zwykły tekst lub tekst zakończony kodem ASCII 0; V - to zmienna całkowita lub zmiennoprzecinkowa, do której procedura zapisze liczbę będącą wynikiem konwersji; natomiast Code, to zmienna całkowita, do której procedura zapisze liczbę 0 (gdy konwersja przebiegła bez błędów) lub numer znaku, który spowodował błąd.

Funkcja może operować także na parametrach typu Int64
Przykład:

var
  tekst : String;
  liczba_c : Integer;
  liczba_r : Real;
  kod_bledu : Integer;
begin
  tekst := '120.0';

  // Spróbuj zamienić tekst na liczbę całkowitą - kod błędu wyniesie 4 (czwarty znak nie jest częścią liczby całkowitej)
  Val(tekst, liczba_c, kod_bledu);
  WriteLn('''',tekst, '''=>', liczba_c, '   (kod bledu: ', kod_bledu, ')');

  // Spróbuj zamienić tekst na liczbę zmiennoprzecinkową - kod błędu wyniesie 0
  Val(tekst, liczba_r, kod_bledu);
  WriteLn('''',tekst, '''=>', liczba_r:0:1, '   (kod bledu: ', kod_bledu, ')');

  ReadLn;
end.

Zobacz też:

1 komentarz

W sumie to do sprawdzania zmian służy podgląd. Nie ma sensu co dwie minuty puszczać nową wersję.