
17/02/2016, 09:05
|
| | Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 5 meses Puntos: 8 | |
Respuesta: separar de un Bigdecimal la parte entera y la decimal Al final lo he hecho así, supongo que hay mejores maneras.
int longitudParteDecimal = big.scale();
int precision = big.precision();
int longitudParteEntera = precision - longitudParteDecimal;
StringBuilder resultParteEntera = new StringBuilder("0");
StringBuilder resultParteDecimal = new StringBuilder("");
if (longitudParteEntera >= 0) {
String parteEnteraString = big.toBigInteger()
.toString();
String parteDecimalString = "";
if (longitudParteDecimal != 0) {
parteDecimalString = big.toString().substring(
longitudParteEntera + 1, precision + 1);
}
resultParteEntera = new StringBuilder(parteEnteraString);
resultParteDecimal = new StringBuilder(parteDecimalString);
}
resultParteEntera = new StringBuilder(this.obtenerTitulosFormateados(
longitudEnteros, new BigDecimal(resultParteEntera.toString())));
while (resultParteDecimal.length() < longitudDecimales) {
resultParteDecimal.append("0");
}
if (resultParteDecimal.length() > longitudDecimales) {
resultParteDecimal = new StringBuilder(
resultParteDecimal.substring(0, longitudDecimales));
}
result.append(resultParteEntera).append(resultPart eDecimal); |