Cómo declarar una variable numérica en Java que consiste en mantener un valor de dígito con una longitud fija de 3 dígitos siempre. Es decir, si ingreso 0, debería formatearse a 000, si ingreso 31, luego debería formatearse a 032 y si ingreso 100, entonces debería permanecer 100. Necesito esto para recibir y almacenar el valor entero de tres dígitos que se envía a través de la respuesta de descanso como códigos de error. Probé el int e Integer normal, pero los ceros anteriores siempre se eliminan. Gracias por la ayuda.

2
geobudex 22 ene. 2018 a las 13:26

3 respuestas

La mejor respuesta

No es una propiedad de una variable numérica, sino una forma de formatearla (de convertirla en una cadena).

Se puede hacer con: String.format("%03d", x) (x es una variable numérica).

3
Maurice Perry 22 ene. 2018 a las 10:30

Probé el int e Integer normal, pero los ceros anteriores siempre se eliminan.

Este comportamiento es esperado. El tipo int no puede representar números con ceros anteriores ; tal como quieras Para lograr el efecto de 3 dígitos , debe formatear una Cadena cada vez que desee mostrar el número entero. Puede hacerlo de esta manera:

String.format("%03d", number);  //number is the int.

Si el número es 4, usar el fragmento de código anterior generará: 004.

Espero que esto ayude. ¡Feliz codificación!

1
Taslim Oseni 22 ene. 2018 a las 10:41

Este es un problema de formato en lugar de un problema de tipo debe mirar método String.format o clase DecimalFormat

0
Emax 22 ene. 2018 a las 10:32