programacion - Relleno de partes enteras de Java
manual de programacion android pdf (2)
Aquí hay una línea usando DecimalFormat:
new DecimalFormat("00." + (x + "").replaceAll(".", "#")).format(x)
Formatea su decimal como 00. ############# ..., donde la longitud de "############# ..." proviene de la longitud de su decimal ("#" en exceso no hace nada).
Puede usar String.valueOf(x)
en lugar de (x + "")
si lo desea.
Lo siento, inicialmente quería hacerlo en php PHP entero , pero me di cuenta de que lo haré en Java en otra parte del código
Entonces necesito formatear números con la parte entera de al menos 2 caracteres
2.11 -> 02.11
22.11 -> 22.11
222.11 -> 222.11
2.1111121 -> 02.1111121
double x=2.11;
System.out.println(String.format("%08.5f", x));
podría hacerlo, pero molesta los ceros a la derecha, me gustaría tener una gran parte flotante arbitraria
String.format("%02d%s", (int) x, String.valueOf(x-(int) x).substring(1))
es totalmente feo e inexacto (da 02.1099 ...)
new DecimalFormat("00.#############").format(x)
truncará la parte flotante
THX para mejores soluciones
lo mejor que puedo venir es
public static String pad(String s){
String[] p = s.split("//.");
if (2 == p.length){
return String.format("%02d.%s", Integer.parseInt(p[0]), p[1]);
}
return String.format("%02d", Integer.parseInt(p[0]));
}
pad (String.valueOf (1.11111118)) -> 01.11111118