Vinnaren i pepparkakshustävlingen!
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...ecimal-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...ecimal-points/

Tack. Ja, korrekt.
Hade sidan uppe redan
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback