Avatar billede bhn.314 Nybegynder
21. februar 2008 - 13:14 Der er 10 kommentarer og
1 løsning

Håndtering af kommatal

Hvordan konverterer man (danske) kommatal til engelske "punktumtal", så man kan lave kalkulationer?

Jeg vil gerne runde dette:
Math.round(1000000,89)

...men javascript kræver jo:
Math.round(1000000.89)

Har overvejet myValue.replace(".", ",")
...Men det er noget crap!!!
Avatar billede jokkejensen Novice
21. februar 2008 - 14:43 #1
hvad med http://www.eggheadcafe.com/articles/20031204.asp  ?

(Men en replace er nu ikke helt af vejen hvis du er sikker på at det altid er et korrekt tal der bliver outputtet)

/JJ
Avatar billede bhn.314 Nybegynder
21. februar 2008 - 14:52 #2
Hmmm, arhhhhh - er det ikke lidt omstændigt :-)
Avatar billede jokkejensen Novice
21. februar 2008 - 15:07 #3
du vil ikke replace...

Hvad er du egentligt ude efter ?

/JJ
Avatar billede jokkejensen Novice
21. februar 2008 - 15:09 #4
hvad med noget..


(psuedo)

var s = [din streng, med komma]

if(s.indexOf(',') > 0) //spørger om der er et komma
{
s=s.replace(',','.');
}


/JJ
Avatar billede bhn.314 Nybegynder
21. februar 2008 - 15:57 #5
Der er nok ikke nogen vej uden om. Problemet med replace er bare at jeg gerne vil tjekke for både decimal komma og tusind-seperator (.)
Avatar billede jokkejensen Novice
21. februar 2008 - 16:06 #6
okay, så er jeg lost hvis ikke du finder det første link interessant :)

/JJ
Avatar billede roenving Novice
25. februar 2008 - 16:56 #7
-- og man kan sagtens bruge replace, hvis ikke der er nogen, så f.eks.

var tal = "1.987.345,65";//dur også med f.eks. "1987345,65"
tal = tal.replace(/\./g,"").replace(/,/,".");
Avatar billede olebole Juniormester
25. februar 2008 - 19:10 #8
<ole>

Jeg faldt lige over denne her: "så man kan lave kalkulationer". Det betyder jo, man skal ende op med et tal og  ikke en streng. Da det ikke er muligt at have tusindtal separatorer i et tal i JavaScript, må de altså ikke indsættes.
Desuden skal man huske at konvertere til tal, når man har brugt replace - som jo er en metode på String objektet  ;o)

    tal = Number(tal.replace(/\./g,"").replace(/,/,""));

/mvh
</bole>
Avatar billede olebole Juniormester
25. februar 2008 - 19:12 #9
... sorry  :)
    tal = Number(tal.replace(/\./g,"").replace(/,/,"."));
Avatar billede bhn.314 Nybegynder
25. februar 2008 - 20:23 #10
Verdensklasse. Smid et svar for point.
Avatar billede bhn.314 Nybegynder
22. august 2010 - 10:09 #11
LUkker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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