Avatar billede Monkeybrain Juniormester
25. august 2012 - 09:44 Der er 7 kommentarer og
1 løsning

Lagt to decimaler på med toFixed?

hvordan får jeg lagt to decimaler på selvom outputtet kun er med et dicimal.?

function updatesum() {
document.form.sum.value = parseFloat(document.form.card.value.replace(",",".") -0) + parseFloat(document.form.cash.value.replace(",",".") -0) - parseFloat(document.form.ordertotal.value.replace(",",".") -0) - parseFloat(document.form.account.value.replace(",",".") -0);
document.form.sum.value = parseFloat(document.form.sum.value.replace(",",".") -0)
}
Avatar billede erikjacobsen Ekspert
25. august 2012 - 12:01 #1
Jeg forstår ikke hvad dit problem er. Man kan jo umiddelbart:

  var a = 7.1;
  alert(a.toFixed(2));

som viser "7.10";
Avatar billede mireigi Novice
26. august 2012 - 13:11 #2
erikjacobsens forslag er helt korrekt.

Derudover vil jeg på det kraftigste anbefale aldrig - og jeg mener aldrig, som i at du bør banke hovedet mod en væg, hvis du ser det andre steder - at bruge float til noget der har med penge at gøre.
Avatar billede olebole Juniormester
26. august 2012 - 13:39 #3
<ole>

@mireigi: Det kunne tyde på, du mener, brug af parseFloat bør straffes på lige fod med massevoldtægt af små, lodne egernbørn. Tør man spørge om årsagen?  =)

/mvh
</bole>
Avatar billede olebole Juniormester
26. august 2012 - 15:00 #5
Jeg forstår ikke, hvad du mener - og jeg kan ikke se, hvad du i JavaScript ville vælge i stedet. Kan du give et eksempel, der viser, hvorfor jeg ikke bør bruge parseFloat - og et eksempel på, hvordan det gøres bedre?
Avatar billede Monkeybrain Juniormester
12. november 2012 - 20:41 #6
Lukker
Avatar billede olebole Juniormester
12. november 2012 - 21:06 #7
Hvad blev løsningen?
Avatar billede Monkeybrain Juniormester
12. november 2012 - 23:10 #8
Den blev til dette:

function updatesum() {
document.finish.cash.value = parseFloat(document.finish.cash.value.replace(",",".") -0).toFixed(2);
document.finish.cashshow.value = parseFloat(document.finish.cash.value.replace(",",".") -0).toFixed(2);
document.finish.card.value = parseFloat(document.finish.card.value.replace(",",".") -0).toFixed(2);
document.finish.cardshow.value = parseFloat(document.finish.card.value.replace(",",".") -0).toFixed(2);
document.finish.account.value = parseFloat(document.finish.account.value.replace(",",".") -0).toFixed(2);
document.finish.accountshow.value = parseFloat(document.finish.account.value.replace(",",".") -0).toFixed(2);
document.finish.sum.value = parseFloat(document.finish.card.value.replace(",",".") -0) + parseFloat(document.finish.cash.value.replace(",",".") -0) - parseFloat(document.finish.ordertotal.value.replace(",",".") -0) - parseFloat(document.finish.account.value.replace(",",".") -0);
document.finish.sum.value = parseFloat(document.finish.sum.value.replace(",",".") -0).toFixed(2);
}
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