2011-11-22 13 views
5

¿Cuál es el tipo de datos para el número 9.6352 en Java?¿Cómo decidir si el valor dado es flotante o doble en Java?

En realidad, si postfijo el número con 'd' o 'f'. entonces será bastante fácil decidir. Pero si lo dejo solo, ¿cuál será el tipo predeterminado del número en java?

+0

Y una cosa más El doble es clase mientras que el doble es dataype. estoy en lo correcto? – Developer

+1

'Double' es una clase de hecho,' double' es un [tipo primitivo] (http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2) – Mat

Respuesta

10

Ir echa un vistazo a la sección JLS en literales de punto flotante (§3.10.2):

A de punto flotante literal es de tipo flotador si se añade como sufijo con una letra ASCII F o F; de lo contrario, su tipo es doble y opcionalmente puede tener el sufijo con una letra ASCII D o d.

Así que es un doble si no tiene un sufijo.

+0

Querías decir 'sufijo' ', ¿derecho? ;-) –

+0

Ooups, sí, gracias :-) – Mat

1

Por defecto es double tipo primitivo.

8

De forma predeterminada, cualquier tipo de datos de coma flotante sin 'f' o 'F' postfixed, se considera del tipo double. Como el número indicado no termina con 'f'/'F', es del tipo double.

Opcionalmente podemos agregar 'd' o 'D' al final para marcarlo como un tipo double, pero de nuevo, es opcional.

2

Para su interés;

  • 0xD es 13, 0xF es 15
  • 0D es (double) 0 y 0F es (float) 0.
Cuestiones relacionadas