Cuando imprimo el resultado de un cálculo que me devuelve un long en java, aparece en pantalla el número 1.2345678E7, necesito que aparezca el número completo (12345678). Qué debo hacer?
Respuestas
¿Demasiados anuncios?
Jesus Marquez
Puntos
10
No se puede quitar el exponencial al valor que ocupas, recuerda que todas las variables tienen un limite de longitud, si es posible convierte ese valor en un double y lo conviertes a una cadena, despues le agregas la cantidad de ceros para extender el resultado.
Te paso el siguiente ejemplo, espero que te ayude.
private String ObtenerValorSinExponencial( double numero) {
string numeroExponencial = numero.ToString();
string [] valorAdyacente;
string [] valorSubyacente;
int cicloPermitido = 0;
if (numeroExponencial.IndexOf("E") != -1) {
valorAdyacente = numeroExponencial.Split("." );
valorSubyacente = valorAdyacente[1].Split( "E" );
numeroExponencial = valorAdyacente[0].ToString() + valorSubyacente[0].ToString();
cicloPermitido = valorSubyacente[0].Length;
cicloPermitido = Integer.parseInt(valorSubyacente[1]) - cicloPermitido;
for (var x = 0; x < cicloPermitido; x++) {
numeroExponencial += "0";
}
}
return numeroExponencial;
}
Nota: Con esta función te puede ayudar para diferentes tipos de exponenciales.