Avatar billede kijoha Novice
12. maj 2015 - 20:17 Der er 10 kommentarer

afrund til 2 decimailer

Hejsa.

Jeg har ledt og ledt efter et svar på hvordan man afrunder et tal til 2 decimaler og har også fundet nogle svar, men uden at forstå hvor og hvordan skal indsættes i min kode.
Det skal siges jeg er ret ny til at prøve at kode java, så håber der er en heldig sjæl der kan hjælpe mig.

de tal der bliver udskrevet kommer fra bruger input, så kender aldrig tallet og bliver udskrevet via document.getElementById()

hvad gør jeg?

mvh.
kim
Avatar billede arne_v Ekspert
12. maj 2015 - 20:28 #1
Vil du afrunde en double til 2 decimaler men stadig have den som doouble?

Eller vil du have en double konverteret til Sttring med 2 decimaler?

Eller?
Avatar billede kijoha Novice
12. maj 2015 - 20:54 #2
jeg vil gerne bruge en double med 2 decimaler, der bliver konverteret om til en string.

eksempel: brugeren skriver sin vægt + højde i 2 inputfelter, som resulterer i teksten: dit BMI er på xx.xxxxxxx
Avatar billede arne_v Ekspert
12. maj 2015 - 21:03 #3
double x = 123.456789;
String s = String.format("%.2f", x);
Avatar billede kijoha Novice
12. maj 2015 - 21:15 #4
Du må hellere uddybe dit svar lidt mere.
1) dit tal du skriver antager jeg som fiktive, men det værdierne kender jeg jo ikke.
2) hvor skal koden skrives henne?

Du får lidt kode jeg har skrevet her:

if (kon === "kvinde" && alder < 31)   
                document.getElementById("bmr").innerHTML = "Når du er en " + tk1930 + " imellem 0-30 år er dit basalstofskifte " + totalResultK1930 + " kcal";
        if (kon === "kvinde" && alder > 30 && alder < 61)
                document.getElementById("bmr").innerHTML = "Da du er en " + tk1930 + " imellem 31-60 år er dit basalstofskifte " + totalResultK3160 + " kcal";
        if (kon === "kvinde" && alder > 60 && alder < 75)
                document.getElementById("bmr").innerHTML = "Da du er en " + tk1930 + " imellem 60-74 år er dit basalstofskifte " + totalResultK6174 + " kcal";
        if (kon === "kvinde" && alder > 74)
                document.getElementById("bmr").innerHTML = "Da du er en " + tk1930 + " over 75 år er dit basalstofskifte " + totalResultKO75 + " kcal";


------------
resultaterne passer og derfor har jeg ikke taget variablerne med her, men det udskriver bare kcal i meget lange tal. Samtidig er problemet at brugeren ikke kan skrive deres vægt med decimaler. f.eks: 85.5 kg. resultatet ændre sig kun i heltal
Avatar billede arne_v Ekspert
12. maj 2015 - 21:26 #5
Det ligner JavaScript mere end Java.
Avatar billede kijoha Novice
12. maj 2015 - 21:31 #6
Ja det har du ret i... fik vidst kun skrevet java og ikke jacascript.
det er måske ikke muligt i javascript?
Avatar billede arne_v Ekspert
12. maj 2015 - 21:52 #7
det kan ogsaa goeres i JavaScript, men koden er anderledes

http://www.w3schools.com/jsref/jsref_tofixed.asp
Avatar billede kijoha Novice
12. maj 2015 - 22:34 #8
tak for linket. kunne jeg til dels godt bruge.
Kunne godt få et resultat når jeg skrev et beløb ind i min kode, men når jeg bruger en variablen fra imputfeltet kommer der ikke nogen tekst og resultat frem.
Avatar billede kijoha Novice
13. maj 2015 - 07:35 #9
Det fandt jeg selv ud af imellemtiden :)
havde blot ikke sat de nye variabler under mine beregninger og koden kunne derfor ikke finde den.

men jeg bokser dog stadig med, hvordan jeg får beregnet decimaler fra input felter med i det jeg udskriver. Resultatet bliver det samme om brugeren skriver f.eks. 90 eller 90.5 / 90.50 . hvad kan jeg gøre ved dette?
Avatar billede arne_v Ekspert
13. maj 2015 - 10:43 #10
Jeg forstaar ikke hvad du vil.

Bruger du toFixed(2) saa faar du altid 2 decimaler.

Goer du ingenting *og* behandler data som streng, saa beholder du antal decimaler som angivet.

Vil du beholde antal decimaler men stadig behandle det som tal d.v.s. regne paa det?
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