Avatar billede jonas82 Nybegynder
23. maj 2005 - 19:20 Der er 8 kommentarer og
2 løsninger

Finde ud af om en String var. kan castes til en double

Jeg vil gerne inden jeg bruger Double.parseDouble(), undersøge om den String jeg skal have konverteret til double nu også kan konverteres korrekt.

Altså at den er på form som en double 123.456 etc.
Avatar billede mikkelbm Nybegynder
23. maj 2005 - 19:22 #1
Er der noget i vejen for at bruge try/catch ?
Avatar billede arne_v Ekspert
23. maj 2005 - 19:27 #2
Medmindre der skal testes rigtigt mange gange med en meget høj andel ikke
valide tal så er try catch på NumberFormatException det bedste.

I andre tilfælde kan du bruge regex til at teste formatet med.
Avatar billede jonas82 Nybegynder
23. maj 2005 - 19:27 #3
Muligvis ikke, men så får jeg jo ikke udført der gerne skulle klares selvom Strengen ikke kan parses til double?

udfør noget kode..
udfør noget kode..
if(kan parses) -> parse skidtet
udfør noget kode..
udfør noget kode..
catch(kan ikke parse)
Avatar billede arne_v Ekspert
23. maj 2005 - 19:30 #4
enten rokerer du lidt rund på din logik så det hænger sammen

eller så laver du en lille metode til det - her er en til int:

    private static boolean test1(String s) {
        try {
            Integer.parseInt(s);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }

som du nemt kan omskrive til double.
Avatar billede mikkelbm Nybegynder
23. maj 2005 - 19:31 #5
Jeg er ikke helt med? Du kan jo gøre følgende:

udfør noget kode..
udfør noget kode..

try
{tal = Double.parse ("3.5"); }
catch (NumberFormatException e)
{tal = 0; }

udfør noget kode..
udfør noget kode..


Eksempelvis.
Avatar billede jonas82 Nybegynder
23. maj 2005 - 19:35 #6
Må man gerne have en try/catch blok inden i en anden try/catch blok?

Altså sådan:

try {
udfør noget kode..
udfør noget kode..

try
{tal = Double.parse ("3.5"); }
catch (NumberFormatException e)
{tal = 0; }

udfør noget kode..
udfør noget kode..
}
catch(en anden ex)
Avatar billede arne_v Ekspert
23. maj 2005 - 19:37 #7
ja

omend jeg ikke er sikker på at jeg kan lide konstruktionen
Avatar billede jonas82 Nybegynder
23. maj 2005 - 19:40 #8
Nej ok, det har jeg bare altid troet var noget skidt, men jeg kan jo som du siger pakke det ind i en funktion for at det bliver lidt pænere.

Tror jeg har fået det info jeg havde brug for. I kommer til at dele point. Tak for hjælpen.
Avatar billede mikkelbm Nybegynder
23. maj 2005 - 19:41 #9
Så smider jeg et svar...
Avatar billede arne_v Ekspert
23. maj 2005 - 19:43 #10
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester