Till Startsidan

Skaffa webbhotell?
Läs JavaScript.nu's jämförelse av webbhotell.
Med priser från
9 kr / månad.

Genom ett samarbete får alla JavaScript.nu-
besökare dessutom 100 kr i rabatt vid beställning.


Re: Tal till valuta med tusentalsavgräns

[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]


Forum / Tal till valuta med tusentalsavgränsare
 Den här funktionen tror jag borde fungera:

function formatCurrency(v){
v=v.replace(/\./g,','); //Tillåt punkter som kommatecken (engelskans syntax), tex 12.5 -> 12,5
v=v.replace(/ /g,''); //Ignorera mellanslag, tex godkänns " 5 4 , 0 " (54) och "1 200" (1200)
if(v.substr(-2)=="kr"){ //Godkänn att ett tal slutar med kr.
v=v.substr(0,v.length-2);
}
if(!(/^\d*,{0,1}\d+$/).test(v)){ //Felaktig indata
return "0,00 kr"; //?
}
var p=v.split(',');
if(p[0]==''){ //Godkänn inte engelsk syntax som ",50"
return "0,00 kr"; //?
}
if(p.length==1){
p.push('0');
}
var nor=Math.round(100*((p[0]-0)+(('0.'+p[1])-0)));
var ipart=Math.floor(nor/100), dstr=(nor%100)+'';
if(dstr.length==1)dstr+='0';
var istr='', ap;
while(ipart>=1000){ //Ändra while till if om du bara vill ha tusenavgränsare, inte också miljon-, miljard-, etc. som det är just nu
ap=(ipart%1000)+'';
ap=('000').substr(ap.length)+ap;
istr=' '+ap+istr;
ipart=Math.floor(ipart/1000);
}
istr=ipart+istr;
var res=istr+','+dstr+' kr';
return res;
}

Du får naturligtvis ändra vissa detaljer till hur du vill ha det. Anropa den som
onchange="var f=document.getElementById('resmal_pris');f.value=formatCurrency(f.value);"

Simon

 
Hej!

Jag har ett litet javascriptproblem.

Efter att man knackat in priset ex. 2400 och lämnar inputen så ska ett litet script ändra
texten i inputen till 2 400,00 kr.

Fler ex. inknackat 1200,50 ska bli 1 200,50 kr

En liten början kan kanske se ut så här:

onchange="document.getElementById(\'resmal_pris\').value=??????;"

/Lars


Postat av Simon (213.89.66.60) den 12 Juni, 2010 kl 16:42:16.
Som svar på: Tal till valuta med tusentalsavgränsare postat av Lars Lantz den 12 Juni, 2010 kl 14:52:16.


Svar på inlägget:


Posta ett svar:

Namn:
E-Mail:
Rubrik:
Meddelande:
Ja tack, maila mig om andra svarar på detta inlägg.
Ja tack, maila mig om andra svarar på mitt inlägg.


[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]