Permalänk
Medlem

redigera antalet decimaler

Har ett program som jag försöker förstå hur jag ska redigera antalet decimaler på i utskriften. Programmet räknar ut hypotenusan på en cylinder.

Förstår att jag ska använda NumberFormat och form.setMaximumFractionDigits(2); och sen på något sätt få det att skriva ut det jag vill.

Men hur jag än försöker få in det i programmet så får jag ändå samma resultat.

Det här är programmet:

import javax.swing.*; import java.text.NumberFormat; public class Cylinder2 { public static void main(String [] arg) { NumberFormat form = NumberFormat.getInstance(); form.setMaximumFractionDigits(2); String s; s = JOptionPane.showInputDialog("Skriv in radien:"); double a = Double.parseDouble(s); s = JOptionPane.showInputDialog("Skriv in höjden:"); double b = Double.parseDouble(s); double c = Math.PI*a*a*b; form.format(c); JOptionPane.showMessageDialog(null, "Volymen är: " + c); System.exit(0); }

Permalänk
Medlem

Samma fel som du gjorde senast: du glömmer att spara värdet av formateringen.

Varför har du tabbat in allting efter String s;?

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Jag ber om ursäkt om jag låter trög nu, men jag ser ändå inte felet, har försökt, men får alla möjliga utskrifter utom det jag vill ha...?

Permalänk
Medlem

Då passar jag på att be om ursäkt ifall jag låter sur
Felet ligger i denna rad: form.format(c);

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

form.format(c);

Vet du vad den raden gör med variabeln c?
Svar: ingenting.

Så detta borde fungera, men kolla inte innan du tänkt till:

JOptionPane.showMessageDialog(null, "Volymen är: " + form.format(c));

Dold text
Permalänk
Medlem

Jag lyckades!! Faktiskt utan att titta, azoapes:)
Har suttit med detta ett tag och försökt med flera program. Det är sjukt frustrerande när det känns som att man är nära, och man tycker att man fått med allting! Men fantastiskt kul när man lyckas!!

Tack för hjälpen!! Och Teknocide: Ursäkten godtas!