Avatar billede herchin Nybegynder
09. december 2005 - 11:34 Der er 7 kommentarer og
1 løsning

Match af decimal

Hej,
jeg skal bruge et regular expression, som kan returnere true, hvis en givet streng matcher en decimal i intervallet [-99.999.999, 99.999.999]
Avatar billede roenving Novice
09. december 2005 - 11:41 #1
Decimal, betyder det tal med decimaler eller er det kun heltal ?-)

-- og i hvilket sprog skal du bruge det ?o]

-- ingen tvivl om, at man lave sådan en test, men det lyder dog som om, det ville være en opgave for en tal-sammenligning (programmering !-), regexp laver jo streng-sammenligninger !o]
Avatar billede herchin Nybegynder
09. december 2005 - 12:54 #2
Decimal er et tal med decimaler... Og det bliver nødt til at være et reg. udtryk, da min decimalbrøk desværre er repræsenteret som streng og ikke som et tal.

Det vil faktisk sige:
- '-' er en gyldig værdi.
- ',00' er en gyldig værdig.
Avatar billede roenving Novice
09. december 2005 - 15:57 #3
[+-]?( |(\d{1,2}\.)?(\d{3}\.)(\d{3})|(\d{1,3}\.)?\d{3}|\d{1,3}?)(,\d+)?

Hvilket skulle betyde:

Først kan der være et + eller -, derefter skal der enten være

et mellemrum eller

et tal lig med eller over en million, men mindre end 100 millioner eller

et tal lig med eller over tusind, men mindre end en million eller

et tal under tusind, inklusive 0 eller slet ingenting ...

Efter det kan der være et komma, hvis det efterfølges af et eller flere cifre
Avatar billede herchin Nybegynder
12. december 2005 - 11:22 #4
Jeg har lavet lidt om, da jeg ikke behøver seperatorer. Desuden kan jeg teste intervalgrænserne på en lidt bedre måde, hvis jeg er sikker på, at strengen er et decimaltal.

Så jeg kom frem til det her:

  • ?(\d*)(,\d+)?

Burde det ikke matche alle decimaltal?
Avatar billede roenving Novice
12. december 2005 - 17:00 #5
Jo, hvis de er tastet på kontinental-europæisk !-)

-- men du har nogle overflødige grupperinger:

-?\d*(,\d+)?
Avatar billede herchin Nybegynder
13. december 2005 - 09:55 #6
Ok, jeg takker for hjælpen. Kan du ikke oprette et svar, så får du point.
Avatar billede roenving Novice
14. december 2005 - 17:24 #7
Velbekomme '-)
Avatar billede roenving Novice
15. december 2005 - 16:12 #8
-- og tak for point ;~}
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