Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Java
Forum PHP.pl > Inne > Hydepark
Uzza
Witam, zna może ktoś odpowiedz na pytanie z opisu tematu ? Proszę o pomoc
dr_bonzo
LOL,
jak zmienna jest typu integer to jest typu integer, to chyba proste

JAVA
Uzza
Ehh, niestety lolkiem okazujesz sie ty... jesli masz zmienną typu string i w niej np taki ciąg: 01#1#ppp
odczytując z tej zmiennej tylko 01 to nadal masz zmienna typu string ale w niej zapisane 01 i teraz sprawdzasz czy ten string jest typu integer. bo jesli miałbys w nim ppp to nie bedzie integer nigdy, a liczbe typu string mozna zmienić na typ int
kwiateusz
zapewne chodzi mu o coś a'la is_int()" title="Zobacz w manualu php" target="_manual z php
Uzza
tak znalazłem cos takiego jak isInteger ale to nie działa, nie wiem jak to zastosować. na innym forum podpowiedziano mi to:

Cytat
załóżmy, że zmienna to x

if( x instanceof Integer )
// jest

ogólnie instanceof sprawdza się czy dany obiekt jest instancją jakiejś klasy, można to stosować to typów własnych i odgórnie zdefiniowanych


Sprawdze to jutro i dam znać
dr_bonzo
Numer z Instance of nie przejdzie, bo String nie jest Integerem i zawsze bedzie false, po prostu uzyj
Integer.parseInt()
i juz; albo dostaniesz integera albo wyjatek.

Kod
Integer zmienna;


i zmienna jest typu Integer bo tak zostala zdefiniowana i koniec. To o czym mowisz to: Czy string zawiera zapisana liczbe.
Cudi
Kod
if (x instanceof Integer)

Zakładając że x jest typu String, kompilator rzuci w Ciebie wyjątkiem winksmiley.jpg

Najprościej będzie zaimplementować tak, jak mówi dr_bonzo, Integer.parseInt() i łapanie wyjątku:
Kod
public static boolean isInt(String str) {
    try {
        Integer.parseInt(str);
    } catch (NumberFormatException e) {
        return false;
    }

    return true;
}
Uzza
Dzięki ! że ja na to nie wpadłem... chociaż używałem tego wyjątku. Wystarczy użycz tej funkcji np w

Kod
if (isInt(komenda))
{}


I juz nie ma problemu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.