26. juli 2002 - 13:35
Der er
7 kommentarer og
1 løsning
2 decimaler efter komma ?
Jeg har et lille problem med tal i en tekstboks.
hvis jeg skal skrive 150.00 i en tekstboks så skriver den kun 150 eller hvis det nu er 150.10 så skriver den kun 150.1 ... Jeg skal have 2 decimaler på.. hvordan kan jeg gøre det ??
scriptet ser sådan ud:
<script>
int mm=150.00;
int xm=150.10;
function test() {
form1.textmm.value = mm;
form1.textxm.value = xm;
}
</script>
eller
function toDecimaler( tal, deci ) { // lav tal til streng med deci decimaler
if ( 0 > deci ) deci = 0;
var verdi = "t" +Math.round( tal * Math.pow( 10, deci ) );
var res = verdi.substring( 1, verdi.length-deci )
+"."
+verdi.substring( verdi.length-deci );
return res;
}; //end toDecimaler( number, integer ) -> string
mvh JakobA
Disse to fikse funktioner laver dansk talformat om til float (så man kan lave matematik på dem og tilbage igen.
parse -> (k.kkk.kkk,øø) -> (kkkkkkk.øø)
format -> (kkkkk.øøøøøø) -> (kk.kkk,øø)
function parseDKFloat(str) {
if (str.constructor==String) {
temp = str.replace(/\x2e/g,'').replace(/,/g,'.');
return parseFloat(temp);
} else if (str.constructor==Number) {
return str;
} else return 0.0;
}
function DKNumberFormat(num,decimals) {
if (num.contructor!=Number) num = parseDKFloat(num); // uha vi kunne få knas i maskinen
num = (num+"").replace('.',','); // 123.5 -> "123,5"
if (num.indexOf(',') != num.length-3) { // vi har mere eller mindre end to decimaler
if (num.indexOf(',') == num.length-2) num += "0"; // en decimal, tilføj 0
else if (num.indexOf(',') == -1) num += ",00" // ingen decimal, tilføj ,00
else num = num.substring(0,num.length-1) // flere decimaler, skær overskydende
} // vi har det nu på formen xxxxxxxx,xx
if (num.length > 6) { // vi må igang med tusindtals-seperator
mtt=num.substring(0,num.length-6); //delen mere end tusinde
ltt=num.substring(num.length-6,num.length); //delen mindre end tusinde
while (mtt.length > 3) { // bliv ved indtil vi max har 3 tal
ltt = mtt.substring(mtt.length-3,mtt.length)+"."+ltt;
mtt = mtt.substring(0,mtt.length-3);
}
num = mtt+"."+ltt;
}
return num;
}