"Bezwartościowy" integer

0

Jak sprawdzić, czy jakaś zmienna typu integer ma już jakąś wartość?

Tzn. chodzi mi o to, żeby sprawdzić, czy do tej zmiennej jest już PRZYPISANA jakaś wartość, czy żadna jeszcze przypisana nie została

(coś na wzór: if i=nil...)

0

Nie można wykonać takiego porównania. Zmienna liczbowa ma zawsze jakąś wartość.

0

Zmienna integer zawsze ma jakas wartosc. Przed pierwszym przypisaniem globalne integery maja wartosc 0, zas lokalne moga miec rozna.

Zmienne (niektorych) typow zmiennoprzecinkowych maja mozliwosc zapisania wartosci innych niz liczby takich jak: nieskonczonosc czy wartosc_nienumeryczna, ale nie sa one dostepne w Delphi.

Wartosc nil moze miec jedynie wskaznik, czyli (posrednio) zmienna dynamiczna. Zmienne integer nie sa dynamiczne.

0

użyj floatów a niezainicjalizowania sprawdzaj funkcjami IsNAN lub IsInfinity (obie w unicie Math)

0

użyj floatów a niezainicjalizowania sprawdzaj funkcjami IsNAN lub IsInfinity (obie w unicie Math)

Dzięki Johnny nie wiedziałem, że w Math jest obsługa nienumerycznych i nieskończoności (funkcja nazywa się IsInfinite). Jednak nie zmienia to faktu, ze niezainicjalizowany double nie zawiera NaN czy nieskończoności, a zwykła liczbę (właśnie puściłem przykład i wyszło 2.05849888817598E-307)

0

to może te co mają być niezainicjalizowane inicjalizuj w initialization jakąś dziwną wartościa i będzie gut. jeżeli uzywasz floatów to daj po prostu NAN i tyle

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