Rösta fram årets bästa pepparkakshus!
2021-09-12, 06:11
  #1
Medlem
Keyzs avatar
Har i uppgift att göra en simpel skattekalkylator.

När jag sätter in %.2f får jag felmeddelande.
Får även "duplicate" error.

Har suttit hela helgen med detta men kommer inge vart.

Hjälp sökes.

Citera
2021-09-12, 09:00
  #2
Medlem
Citat:
Ursprungligen postat av Keyz
Har i uppgift att göra en simpel skattekalkylator.

När jag sätter in %.2f får jag felmeddelande.
Får även "duplicate" error.

Har suttit hela helgen med detta men kommer inge vart.

Hjälp sökes.


Du deklarerar variabeln income två gånger i koden.

"%" är reserverad för att skriva ut en variabel i formaterade strängar.
T.ex.
Kod:
String name = "Pelle";
System.out.printf("Hej %s!", name);
Skriver ut: Hej Pelle!

Här kan du läsa på lite om formatering av strängar:
https://www.baeldung.com/java-printstream-printf
Citera
2021-09-12, 10:33
  #3
Medlem
Keyzs avatar

Några funderingar:

Jag får mina två decimaler .00 med denna sträng:
System.out.printf("Some numbers: %.2f \n", 1.0, 2.0, 3.0);

Varför får jag inte med "2.0" och "3.0" ?

och hur gör jag för att...

System.out.printf("Your annual income is: %.2f " + "$" + (sum * 0.30));

... ska resultera i två decimaler .00 ?

Behöver verkligen se exakt hur det ska se ut eftersom jag kan inte räkna ut detta själv!
Citera
2021-09-12, 11:03
  #4
Moderator
Protons avatar
Citat:
Ursprungligen postat av Keyz

Några funderingar:

Jag får mina två decimaler .00 med denna sträng:
System.out.printf("Some numbers: %.2f \n", 1.0, 2.0, 3.0);

Varför får jag inte med "2.0" och "3.0" ?

och hur gör jag för att...

System.out.printf("Your annual income is: %.2f " + "$" + (sum * 0.30));

... ska resultera i två decimaler .00 ?

Behöver verkligen se exakt hur det ska se ut eftersom jag kan inte räkna ut detta själv!
Här är nog ett kodexempel som gör det du är ute efter?
https://mkyong.com/java/java-display-double-in-2-decimal-points/
Citera
2021-09-12, 11:12
  #5
Medlem
Citat:
Ursprungligen postat av Keyz

Några funderingar:

Jag får mina två decimaler .00 med denna sträng:
System.out.printf("Some numbers: %.2f \n", 1.0, 2.0, 3.0);

Varför får jag inte med "2.0" och "3.0" ?

och hur gör jag för att...

System.out.printf("Your annual income is: %.2f " + "$" + (sum * 0.30));

... ska resultera i två decimaler .00 ?

Behöver verkligen se exakt hur det ska se ut eftersom jag kan inte räkna ut detta själv!

Du behöver lika många "placeholders" I strängen som variabler du vill visa. Om du lägger till två stycken till kommer även 2.0 och 3.0 skrivas ut.

Din faktiska kod som du har problem med nyttjar inte formateringen. Du måste ändra till:
Kod:
System.out.printf("Your annual income is %.2f$, (sum * 0.3));
Citera
2021-09-12, 11:18
  #6
Medlem
Keyzs avatar
Citat:
Ursprungligen postat av Proton
Här är nog ett kodexempel som gör det du är ute efter?
https://mkyong.com/java/java-display-double-in-2-decimal-points/

Tack. Ja, korrekt.
Hade sidan uppe redan
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in