[Delphi] Sprawdzenie czy liczba całkowita

0

Witam
Mamy np funkcję :

function dzielenie(X:integer,Y:integer):real
begin
  dzielenie:=X/Y;
end;

Jak sprawdzić , po wywołaniu funkcji i otrzymaniu wartości czy dana liczba(typu real) jest liczbą całkowitą?

0

Może np. tak? (pewnie jest jakiś lepszy sposób, no ale :) ):

var
  R: Real;
begin
  R := Dzielenie(12, 4);
  if R = Trunc(R) then
    // całkowita :)
0

Witam
Mamy np funkcję :

function dzielenie(X:integer,Y:integer):real
begin
  dzielenie:=X/Y;
end;

Jak sprawdzić , po wywołaniu funkcji i otrzymaniu wartości czy dana liczba(typu real) jest liczbą całkowitą?

if round(liczba)=liczba then {jest_calkowita}

// Edit: Nie udało mi sie odpisać jako pierwszy :(

0
if x mod y = 0 then 
//dzieli sie bez reszty (tzn calkowita wychodzi)
0

Jak sprawdzić , po wywołaniu funkcji i otrzymaniu wartości czy dana liczba(typu real) jest liczbą całkowitą?

Operator mod, o ile mi wiadomo, jest możliwy do zastosowania tylko dla operandów całkowitych (a więc Real jako jeden z operandów prawdopodobnie spowoduje błąd kompilacji).

0

No tak, ale operandy SĄ całkowite (X, Y: Integer). Tylko wynik ew. nie. No i wtedy mod zadziała. Już po ptokach (jak już mamy liczbę typu real), to jakoś też się chyba część ułamkową wyznacza. Ale jakoś nie mogę znaleźć bezpośredniej metody. Zawsze pozostaje porównanie Trunc albo Int z wartością.

1 użytkowników online, w tym zalogowanych: 0, gości: 1