Formatierung

Status
Nicht offen für weitere Antworten.

assault

Aktives Mitglied
Hi habe eine frage zur formatierten ausgabe und zwar will ich
z.b. die zahl 1 so formatiert "00001"wieder geben. ich hab mich bisschen bei google schlau gemacht und es mit
Code:
System.out.format("%f%n", 00001);
versucht aber es geht, hab ich was falsch gemacht? muss ich iergendwas dabei noch beachten? oder gibts darfür eine andere Funktion?

benutze eclipse, compiler hab ich auch auf level 5 gestellt

hier nochmal der ganze code


Code:
public class Verwaltung {
public static void main (String[]args){
	System.out.format("%f%n", 0000314);

}
}


und hier der fehler der kommt

Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.Integer
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at Verwaltung.main(Verwaltung.java:4)
 
Code:
NumberFormat formatter = new DecimalFormat("00000");
String s = formatter.format(1);
System.out.println(s);
 
f = float in java float und double
d = decimal in java short und int
 
assault hat gesagt.:
Code:
System.out.format("%f%n", 0000314);

a) bei 0000314 sind die 0en unnützt, is ja ne zahl und kein string
b) wieso "%f%n", wie kommst du darauf?

nimm
Code:
System.out.format("%05d", 314);
oder
Code:
java.text.MessageFormat.format("{0,number,00000}", 314);
oder was setsuna9 sagt
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben