Slik kontrollerer du om en streng er numerisk i Java
Hvordan sjekker du om en streng er et tall før du analyserer den?
833
3
Hvordan sjekker du om en streng er et tall før du analyserer den?
Du kan bruke
NumberFormat#parse
: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.
Jeg tror den eneste måten å pålitelig fortelle om en streng er et tall, er å analysere den. Så jeg ville bare analysere det, og hvis det er et tall, får du nummeret i en int gratis!