/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hjælp til javascript
Fra : Morten Snedker


Dato : 01-12-06 09:05

Jeg har fået at vide, at jeg skal søge hjælpe her:

Jeg er igang med asp.net, og er tvunget ud i javascript, som jeg ikke
har arbejdet med tidligere.

Formåll: 1000,50 skal returnere 1.000,50

Men i min kode herunder bliver
   1000,50
til
   100.050,00

Hvad er galt - jeg er ingen ørn til javascript..

num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + ',' + cents);


mvh
--
Morten Snedker
http://www.planprojekt.dk | http://www.dbconsult.dk
Privat: http://www.vinthervej2.dk

 
 
Jens Gyldenkærne Cla~ (01-12-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-12-06 10:29

Morten Snedker skrev:

> Formåll: 1000,50 skal returnere 1.000,50

Jeg kan ikke lige overskue hvorfor det går galt i din kode, men du
kan prøve at kigge på følgende link vedr. formatering af numre i
javascript: <http://www.mredkj.com/javascript/numberFormat.html>.

Der er en online testside hvor man kan vælge decimal- og
tusindadskillertegn.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Martin (02-12-2006)
Kommentar
Fra : Martin


Dato : 02-12-06 00:31

Morten Snedker wrote:
> Jeg har fået at vide, at jeg skal søge hjælpe her:
>
> Jeg er igang med asp.net, og er tvunget ud i javascript, som jeg ikke
> har arbejdet med tidligere.
>
> Formåll: 1000,50 skal returnere 1.000,50
>
> Men i min kode herunder bliver
>    1000,50
> til
>    100.050,00

I England, USA og mange andre lande.
Der er komma og tusindtal seperatoren modsat end i DK.
Derfor så "tror" javascriptet at du skriver 100050.00

Det du kan gøre er at lave kommaer om til punktummer. Så du får 1000.50
Det du så bare skal sørge for er at der ikke bliver indtastet tusindtal
seperatorer. Fx du indtaster 100.000,50 - det vil lave en masse bøvl.

Jeg plejer hvis der findes et punktum i strengen - så fjerner man lige
alle punktummer og laver kommaet om til et punktum efterfølgende.

PS: Du kan evt også bare bruge FormatCurrency funktionen eller Format
funktionen i ASP (ved ikke om den også er med i .net udgaven - men der
er helt sikkert en funktion der også kan gøre det i asp.net)

Se evt:
<http://www.texaswebdevelopers.com/examples/format_asp.asp>

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408181
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste