Avatar billede Mik2000 Professor
04. maj 2021 - 12:12 Der er 1 kommentar og
2 løsninger

Prise med 4 eller 2 decimaler

Hej

Jeg har nogle priser med 4 decimaler efter komma så man kan regne korrekt moms mv.

Når jeg viser resultatet vil jeg gerne have vist med 2 decimaler hvis de sidste 2 er 0 som f.eks.
135,2500 => 135,25
195,9500 => 195,95
100,0000 => 100,00

... og have det vist med 4 decimaler hvis de ikke er nul
135,2764 => 135,2764
119,1950 => 119,1950

Lige nu bruger jeg toFixed(4) til at vise med 4 decimaler - men er ovenstående muligt at gøre på en smart måde?
Avatar billede claes57 Ekspert
04. maj 2021 - 13:21 #1
hvis pris*100 = int(pris*100)
afrund til 2 decimaler
ellers
vis 4 decimaler
Avatar billede ejvindh Ekspert
04. maj 2021 - 19:08 #2
I java script:

x=9.1101
if ((x*100 - parseInt(x*100)) > 0) {
  console.log(x.toFixed(4));
} else {
  console.log(x.toFixed(2));
}

Eller hvis du skal bruge det mange gange, kan du jo lave en funktion:

console.log(twoOrFourDecimals(10.5325));
console.log(twoOrFourDecimals(10.5300));

function twoOrFourDecimals(x) {
  if ((x*100 - parseInt(x*100)) > 0) {
    return x.toFixed(4);
  } else {
    return x.toFixed(2);
  }
}
Avatar billede Mik2000 Professor
04. maj 2021 - 20:24 #3
Tak for hjælpen :)
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

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