Avatar billede tobbi Nybegynder
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 ?
Avatar billede jakoba Nybegynder
12. juni 2002 - 09:51 #1
Nej, den må man lave selv.
Avatar billede gizmo-gizmo Nybegynder
12. juni 2002 - 09:53 #2
Hvis du i forvejen har gang i noget PHP, er der en funktion til det der.
Avatar billede tobbi Nybegynder
12. juni 2002 - 09:58 #3
nogen som har lavet en funktion der kan det ??
Avatar billede senj Nybegynder
12. juni 2002 - 09:59 #4
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>
Avatar billede gizmo-gizmo Nybegynder
12. juni 2002 - 10:02 #5
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 :)
Avatar billede tobbi Nybegynder
12. juni 2002 - 10:02 #6
jeg bruger asp....

ovenstående løsning ser lidt vild ud....
prøver at lave noget selv.
Avatar billede lp Nybegynder
12. juni 2002 - 23:18 #7
i asp kan du bruge FormatCurrency funktionen... Do you need a link ?
Avatar billede tobbi Nybegynder
13. juni 2002 - 15:09 #8
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);
}
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