Olá,
Preciso transformar um int em String, porém completando com “0” a esquerda e no máximo 3 casas, ou seja, se o número for 3 preciso que seja 003 e se for 17 ser 017.
Existe alguma função em Java que faça isso?
Obrigado.
Olá,
Preciso transformar um int em String, porém completando com “0” a esquerda e no máximo 3 casas, ou seja, se o número for 3 preciso que seja 003 e se for 17 ser 017.
Existe alguma função em Java que faça isso?
Obrigado.
Não sei se já existe pronto (bem capaz de ter), mas é tão simples de resolver que tá aí:
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner (System.in);
int n1 = input.nextInt();
String s = n1 + "";
s = modificarString(3, s);
System.out.println(s);
}
private static String modificarString(int casas, String texto){
while (texto.length() < casas){
texto = "0" + texto;
}
return texto;
}
espero ter ajudado n.n
Valeu Mephy,
Também achei assim:
int opcaoselecionada=2;
String zeros = "000";
String versalto = zeros + opcaoselecionada;
versalto=versalto.substring(versalto.length()-3);
eu sei que vc ja deu como resolvido mais podemos simplificar isso usando a propria api java
int opcaoselecionada = 2;
String s = String.format("%04d", opcaoselecionada);
System.out.println(s);
o resultado disso é s = “0002”
valew
Mas sua solução de fato é melhor, vou utilizá-la então, não conhecia. Obrigado.
Também dá pra fazer assim:
/* resultado 00552
*Onde valor seria o 552, o 5 o número de caracteres que tem que aparecer e o "" é com o que ele irá completar no caso "0"
*/
System.out.println(StringUtils.leftPad(valor, 5, "0"));
Pra quem utiliza o Apache StringUtils
Já haviam resolvido mas fica como dica 8)