2010-12-07 15 views
5

¿Cómo representan los números en el formatonúmeros decimales fijos con JAVA

001 = 1 
002 = 2 
003 = 3 
010 = 10 
020 = 20 

El número de dígitos es siempre 3.

+2

Necesita aclarar su pregunta. Es difícil deducir lo que necesita leyendo su publicación. Tenga en cuenta que en Java, si rastrea un número literal con '0' significa que es un número octal. –

+1

¿Quiere decir qué estructura de datos usar o cómo formatear correctamente el número para visualizar? –

Respuesta

11

Si quieres enteros de salida, que siempre tienen ceros a la izquierda, use String.Format con un cero antes del número de dígitos de la cadena de formato, por ejemplo:

int i = 3; 
String s = String.format("%03d", i); 
System.out.println(s); 

Ofrece la salida:

003 
+0

¿Por qué no 'System.out.format ("% 03d ", x);' – helpermethod

+0

De hecho, aunque es probable que el póster quiera hacer algo más que simplemente enviar la cadena a stdout. Tal vez debería dividir el ejemplo para mostrar explícitamente cómo construir la cadena ... (Lo haré ahora) –

+0

¿Por qué mi eclipse dice que necesito convertirlo en un Objeto []? No me dejará convertirlo en int. – Gareth

2

Integer.valueOf("020") es suficiente para su propósito. Te dará 20 como resultado. Después de eso, puede usarlo como Integer, int o String.

0

¿Me falta algo obvio aquí?

String num_str = "001" 
Integer val  = Integer.parseInt(num_str); 
String answer = val.toString(); 
1

se puede usar algo como esto

DecimalFormat decimalFormat = new DecimalFormat(); 
decimalFormat.setMinimumIntegerDigits(3); 
System.err.println(decimalFormat.format(2)); 
Cuestiones relacionadas