Java - Tipos de datos

 
Vista:

Tipos de datos

Publicado por Jose (6 intervenciones) el 02/02/2001 09:08:16
Necesito almacenar valores superiores a 2500 millones, tanto en numeros enteros y en numeros decimales, pero al utilizar long y double me dice que son demasiado largo.¿Porque me pone esto si en algunos tutoriales el rango de estos tipos de datos son mucho mayores?¿O como puedo almacenarlos?

Muchas gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

2500000000L

Publicado por Jose (japjava) (53 intervenciones) el 02/02/2001 12:48:39
Me temo que tienes un problema con los literales. Los literales son los calores que pueden darse a las variable en tiempo de compilación. En la siguiente sentencia largo es la variable y 2500000000 el literal

long largo = 2500000000;

declaras una variable de tipo long que tiene capacidad suficiente patra almecenar lo que quieres. Pero 2500000000 es un literal (no lleva sufijo) de tipo int y sobrepasa el límite permitido para un tipo int. Debes usar un literal tipo long. Es facil:

long largo = 2500000000L;

Como ves tan solo tienes que añadir el sufijo L (mayuscula o minuscula, da igual) al número. Como ves este lenguaje es super-riguroso con el control de tipos, lo cual es una enorme ventaja a la hora de depurar los programas (aunque ahora te resulte complicado)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

una observación

Publicado por Jose (japjava) (53 intervenciones) el 02/02/2001 13:02:34
Una observación:

Si el número está en una cadena que vas a convertir, no debe llevar el sufijo de literal numerico de tipo long. Por ejemplo

String cad = "2500000000L";
long largo = Long.parseLong(cad);

lanzaria una excepción. Lo correcto sería

String cad = "2500000000";
long largo = Long.parseLong(cad);

Hasta otra.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar