12. juni 2002 - 09:44
Der er
7 kommentarer og 1 løsning
vis decimal tal med punktum og komma
Hejsa findes der en funktion som laver et tal fx 1549.50 om til 1.549,50 ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Nej, den må man lave selv.
Hvis du i forvejen har gang i noget PHP, er der en funktion til det der.
nogen som har lavet en funktion der kan det ??
Kig lige på denne: <html> <HEAD> <SCRIPT LANGUAGE="JavaScript"> function currencyFormat(fld, milSep, decSep, e) { var sep = 0; var milSep = "."; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; // Enter key = String.fromCharCode(whichCode); // Get key value from key code if (strCheck.indexOf(key) == -1) return false; // Not a valid key len = fld.value.length; for(i = 0; i < len; i++) if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); aux += key; len = aux.length; if (len == 0) fld.value = ''; if (len == 1) fld.value = '0'+ decSep + '0' + aux; if (len == 2) fld.value = '0'+ decSep + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += milSep; j = 0; } aux2 += aux.charAt(i); j++; } fld.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) fld.value += aux2.charAt(i); fld.value += decSep + aux.substr(len - 2, len); } return false; } </script> </HEAD> <BODY> <form> Indtast værdi: <input type=text name=test length=15 onKeyPress="return(currencyFormat(this,',',',',event))"> </form> </html>
det virker faktisk meget smart. Det kan kan gøres på 1 linie i PHP, men hvis du vil have en javascript løsning, såhh .. er den fin den overstående :)
jeg bruger asp.... ovenstående løsning ser lidt vild ud.... prøver at lave noget selv.
lp
Nybegynder
12. juni 2002 - 23:18
#7
i asp kan du bruge FormatCurrency funktionen... Do you need a link ?
fandt den her på nettet... : function tal(num){ num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); orer = num%100; num = Math.floor(num/100).toString(); if(orer<10) orer = "0" + orer; 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 + ',' + orer); }
Vi tilbyder markedets bedste kurser inden for webudvikling