2012-08-07 5 views
12

Wie kann ich eine Ganzzahl im zweistelligen Format in Java speichern? Wie kann ichSpeichern einer Ganzzahl im zweistelligen Format in einer Variablen in Java

int a=01; 

und drucken Sie es als 01? Auch nicht nur Drucken, wenn ich sage int b=a;, b sollte auch seinen Wert als 01 drucken.

+4

Ganze Zahlen ganze Zahlen sind. * Unter der Annahme, dass es keine Oktalnotation * gibt (die es in Java-Literalen gibt), ist 1 = 01 = 001 = .. Sie möchten die ** Ganzzahl ** in die ** Zeichenfolge ** mit diesem Format umwandeln. –

+0

Zuerst , int kann einen viel größeren Wert als 99 darstellen. Wenn Sie eine solche Darstellung benötigen, erstellen Sie Ihre eigene Klasse. –

+2

Ich denke, Sie suchen in etwa so: [Formatieren Sie eine Ganzzahl mit Java String Format] (http://stackoverflow.com/questions/6034523/format-an-ntegter-using-java-string-format) – nkr

Antwort

48

ich denke, das ist das, was Sie suchen:

int a = 1; 
DecimalFormat formatter = new DecimalFormat("00"); 
String aFormatted = formatter.format(a); 

System.out.println(aFormatted); 

Oder kürzer:

int a = 1; 
System.out.println(new DecimalFormat("00").format(a)); 

Ein int nur eine Menge speichert, und 01 und 1 die gleiche Menge so Sie sind auf die gleiche Weise gespeichert.

DecimalFormat erstellt einen String, der die Menge in einem bestimmten Format darstellt.

+0

Arbeiten wie ein Charme. danke, Kumpel. –

6

Dies ist nicht möglich, da eine ganze Zahl eine ganze Zahl ist. Aber Sie können die Ganzzahl formatieren, wenn Sie möchten (DecimalFormat).

9
// below, %2d says to java that I want my integer to be formatted as a 2 digit 
// representation 
String temp = String.format("%2d", yourIntValue); 
// and if you want to do the reverse 
int i=Integer.parse(temp); 

// 2 -> 02 (for example) 
+0

Sollte "% 02d" anstelle von "% 2d" sein – DiveIntoML

1

Blick auf die unten Format über Format seiner Arbeit kann nicht funktionieren für mich

String.format ("% 02d", myNumber)

Verwandte Themen