Avatar billede wordwrap Nybegynder
02. august 2005 - 12:38 Der er 6 kommentarer og
1 løsning

problem med udregning

Hejsa

for at springe lige ud i det, har 2 variabler..

f.eks:

var a = "123.25DKK";
var b = "125.50DKK";


a = a.substring(0,6); // a = 123.25
b = b.substring(0,6); // b = 125.50

a += +b;

ovenstående ender ud med
a = 123.25125.5, hvilket ikke ligefrem er det jeg er ude efter...

har så kigget lidt på, hvordan jeg får de tal lavet om til noget jeg kan regne med... så :

var c = parseInt(a);
var d = parseInt(b);

problemet med det er bare lige at:

c = 123
d = 125

sagt på en anden måde (hvilket nok giver sig selv) at jeg mangler de kære decimaler...men tallene kan da nu i det mindste lægges sammen

så problemet er vist sagt ganske kort at jeg skal ha de decimaler med over :-D.... men hvordan ??
Avatar billede barklund Nybegynder
02. august 2005 - 12:42 #1
parseInt bruges til at parse heltal - da int = integer = heltal. Kommatal - eller flydende tal - hedder float og derfor hedder funktionen pudsigt nok også: parseFloat!

var c = parseFloat(a);
var d = parseFloat(b);

Dog vil simpel Number-konvertering også virke:

var c = Number(a);
var d = Number(b);

:)

--
Morten Barklund
Avatar billede wordwrap Nybegynder
02. august 2005 - 12:45 #2
hvor nemt kan det være *g*

takker...

smid et svar :-D
Avatar billede barklund Nybegynder
02. august 2005 - 12:46 #3
Helt i orden - hvis man ikke kender funktionen, så kender man den jo ikke :)
Avatar billede roenving Novice
02. august 2005 - 13:33 #4
Iøvrigt kunne du bare bruge den lyn-casting, som du faktisk bruger med +b, men det gør du jo ikke med a !-)

-- og med parseFloat kan du operere direkte på dine tekst-variabler:

var a = parseFloat("123.25DKK");
var b = parseFloat("125.50DKK");

a += b;
Avatar billede barklund Nybegynder
02. august 2005 - 13:47 #5
Hm, actionscript-compileren optimerer unært plus helt væk - så den har aldrig nogen effekt - men javascript er selvfølgelig ikke fortolket, så der kan den sagtens gøre noget :)

Og tark for points :)
Avatar billede wordwrap Nybegynder
02. august 2005 - 14:19 #6
nu er jeg ik med længere... går ud fra i snakker om forskellen mellem :

a += +b;
og
a += b; ??

gør det nogen forskel, og hvis så hvordan, hvis i gider forklare :D eller snakker i om noget helt andet ?? :s
Avatar billede roenving Novice
02. august 2005 - 14:27 #7
Ja, du kan jo bare prøve:

var a = 27;
var b = "45";
alert(a + b);
alert(a + +b);
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