Avatar billede tknudsen Nybegynder
19. oktober 2001 - 14:38 Der er 3 kommentarer og
1 løsning

parseFloat til javascript i ie

jeg mangler en parseFloat-lignende funktion til javascript, som dels tester for ugyldige tegn, heriblandt for mange decimal seperatorer, og som kan bruges til afrunding.

Jeg har forsøgt mig med:

var re = /\\./g;
var res = re.exec(s);

alert(res.length);

for at finde anatl .\'er i strengen, men uanset hvor mange jeg putter ind finder den kun det første.

Længere er jeg ikke kommet :-|
Avatar billede yellow Nybegynder
19. oktober 2001 - 14:54 #1
Hvis du bruger stringobjektets match function, kan du få et array af alle matches. Herefter tager du bare length på arrayet:

var re = /\\./g;
var res = s.match(re).length;

Skal du have svar på hele den \"parsoFloat-lignende\"-funktion, kan du så ikke lige supplere med nogle flere oplysninger? Hvilke tegn er gyldige, hvor mange decimaler er tilladt, hvilket format skal resultatet være?
Avatar billede tknudsen Nybegynder
19. oktober 2001 - 14:59 #2
Kun positive værdier er tilladte.

- \',\' er decimal seperator (ovenstående var blot en tester)
- der er ingen tusinde seperator

som parameter til funktionen er antal decimaler der skal afrundes til

resultatet skal være en float
Avatar billede tknudsen Nybegynder
19. oktober 2001 - 15:03 #3
men mht præcisionen i afrundingen er det ikke så kritisk
Avatar billede jumper Nybegynder
25. oktober 2001 - 17:03 #4
var re = /\\d+(\\.\\d+)?/

Derudover, http://jibbering.com/faq/#_46

/Thor
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