Hvordan sjekker du om en streng er et tall før du analyserer den?
Du kan bruke NumberFormat#parse
:
try
{
NumberFormat.getInstance().parse(value);
}
catch(ParseException e)
{
// Not a number.
}
Parse det (dvs. med Integer#parseInt
) og bare fange unntaket =)
For å klargjøre: parseInt-funksjonen sjekker om den kan analysere tallet i alle fall (åpenbart), og hvis du vil analysere det uansett, vil du ikke ta noen ytelse hit ved å faktisk gjøre parsing.
Hvis du ikke ønsker å analysere det (eller analysere det veldig, veldig sjelden), kan du selvfølgelig gjøre det annerledes.