Avatar billede cpccorp Juniormester
27. marts 2004 - 02:02 Der er 18 kommentarer og
1 løsning

Formatering af tal ttil 2 desimaler

Hvordan laver man sådan at en værdi formateres således at den vises med 2 decimaler
Avatar billede grunken Nybegynder
27. marts 2004 - 02:57 #1
simpelt nok :o)

<script type="text/javascript">
t = 7.8484884854854; //tallet

num = t.toFixed(2); //tallet i parentesen angiver antal decimaler
alert(num);
</script>
Avatar billede cpccorp Juniormester
27. marts 2004 - 03:20 #2
Tallet er med komma ikke punktum
Avatar billede grunken Nybegynder
27. marts 2004 - 03:31 #3
og det skal vel så også retunes med komma :o)

så kan man vel gøre sådan :o)

<script type="text/javascript">
t = "7,8484884854854"; //tallet
d = 2; //antal decimaler

num = t.split(",")
num = t[0]+","+t[1].substring(0,d)

alert(num)

</script>
Avatar billede grunken Nybegynder
27. marts 2004 - 03:36 #4
opps :o)

<script type="text/javascript">
t = "7,8484884854854"; //tallet
d = 2; //antal decimaler

t = t.split(",")
num = t[0]+","+t[1].substring(0,d)

alert(num)

</script>
Avatar billede cpccorp Juniormester
27. marts 2004 - 11:12 #5
Ser fint ud men den gør det kun rigtigt når der er decimaler efter kommaet, hvis det er et helt tal, skal den skrive ,00 kan man lave det så den gør det, hvis ja læg et svar
Avatar billede cpccorp Juniormester
27. marts 2004 - 11:14 #6
For øvrigt jvis der kun er et tal efter kommaet skriver den kun 1 tal efter kommaet og ikke eks. ,10 men 0,1
Avatar billede olebole Juniormester
27. marts 2004 - 14:05 #7
<ole>

var tal = 12345.236;
function toDec(t) {
    t = t+"";
    t = t.split(".");
    if (t.length<2) return t + ".00";
    if (t[1].length<2) return t.join(".")+"0";
    t[1] = Math.round( t[1].substr(0,2)+"."+t[1].substr(2) );
    return t.join(",");
}
alert( toDec(tal) );

/mvh
</bole>
Avatar billede olebole Juniormester
27. marts 2004 - 14:07 #8
Njaaahhhhh ... nok hellere sådan:

var tal = 12345.236;
function toDec(t) {
    t = t+"";
    t = t.split(".");
    if (t.length<2) return t + ",00";
    if (t[1].length<2) return t.join(",")+"0";
    t[1] = Math.round( t[1].substr(0,2)+"."+t[1].substr(2) );
    return t.join(",");
}
alert( toDec(tal) );
Avatar billede skovenborg Nybegynder
27. marts 2004 - 14:12 #9
faktisk virker det også (i hvert fald på min computer) hvis du blot skrev:
<script type="text/javascript">
var number = 35;
alert(number.toFixed(2).toString()); // returnerer 35.00 (som streng godt nok, men det bliver den jo automatisk til når du bruger kommatal
</script>
Avatar billede skovenborg Nybegynder
27. marts 2004 - 14:17 #10
...og det vil sige at det ville være kortere at skrive:
<script type="text/javascript">
var number = "365,23";
function formatNum(str,digits) {
      temp_string = str.toString().replace(/\,/,".");
      return parseFloat(temp_string).toFixed(digits).toString();
}
var nytnum = formatNum(number,3);
</script>
Avatar billede olebole Juniormester
27. marts 2004 - 14:19 #11
skovenborg >> hvordan ligger det med understøttelsen af NUMBER.toFixed()?
Avatar billede skovenborg Nybegynder
27. marts 2004 - 14:21 #12
js1.5 - ved det godt (og derfor virker det også kun fra IE5.5 og NS6). Så jo den er måske ikke så bagudskompitabel, men en hel del kortere.

skulle foresten også have været:
<script type="text/javascript">
var number = "365,23";
function formatNum(str,digits) {
      temp_string = str.toString().replace(/\,/,".");
      return parseFloat(temp_string).toFixed(digits).toString().replace(/\./,",");;

}
var nytnum = formatNum(number,3);
alert(nytnum);
</script>
Avatar billede olebole Juniormester
27. marts 2004 - 14:31 #13
Jeg tror en Mac-bruger er ligeglad med, om den er kortere  :)
Avatar billede skovenborg Nybegynder
27. marts 2004 - 14:35 #14
åh, virker den ikke på en mac - jamen så er det jo en hel anden sag. Point taken :-)
Avatar billede olebole Juniormester
27. marts 2004 - 14:40 #15
Den virker i nogle brusere under MacOS, men ikke i IE. Der virker f.eks. ARRAY.push() i øvrigt heller ikke - eller rettere, den har den gamle semantik  :o|
Godt nok har MS højt og helligt _lovet_, de ikke vil udvikle flere MacOS-browsere (hvilket jo er ualmindelig venligt af dem) - men der er desværre stadig mange i brug.
/mvh
Avatar billede cpccorp Juniormester
27. marts 2004 - 16:03 #16
Send svar
Avatar billede olebole Juniormester
27. marts 2004 - 16:31 #17
Jeg synes, vi burde nappe 10 points hver ... svar, drenge  ;o)
Avatar billede skovenborg Nybegynder
27. marts 2004 - 16:57 #18
jeg tror jeg springer over denne gang :-)
Avatar billede olebole Juniormester
27. marts 2004 - 17:51 #19
nupo-dreng ... er man blevet for fed?  :D
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