¿Hay alguna forma de convertir un Longtipo de datos en Doubleo double?
Por ejemplo, necesito convertir 15552451La un doubletipo de datos.
java
type-conversion
Harry
fuente
fuente

Long.valueOf(15552451L).doubleValue()si desea pasarLong. Tenga en cuenta que esto es lo mismo, internamente, que el elenco de adouble, excepto que está haciendo algo de auto / unboxing.new) donde no se puede eludir.double d = 15552451L;Casting simple?
double d = (double)15552451L;fuente
15552451dComo ya se mencionó, simplemente puede lanzar largo para duplicar. Pero tenga cuidado con la conversión de largo a doble porque de largo a doble es una conversión estrecha en java.
La conversión de tipo doble a tipo largo requiere una traducción no trivial de un valor de punto flotante de 64 bits a la representación entera de 64 bits. Dependiendo del valor real del tiempo de ejecución, es posible que se pierda información.
por ejemplo, el siguiente programa imprimirá 1, no 0
long number = 499999999000000001L; double converted = (double) number; System.out.println( number - (long) converted);fuente
¿Está buscando la conversión binaria?
double result = Double.longBitsToDouble(15552451L);Esto le dará
doubleel mismo patrón de bits que ellongliteral.Los literales binarios o hexadecimales serán útiles aquí. Aquí hay unos ejemplos.
double nan = Double.longBitsToDouble(0xfff0000000000001L); double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L); double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L);(Ver Double.longBitsToDouble (long) )
También puedes recuperar la
longespalda conlong bits = Double.doubleToRawLongBits(Double.NaN);(Ver Double.doubleToRawLongBits (doble) )
fuente
longadouble(creo casting es una de las primeras cosas que se aprenden cuando se utiliza Java) ni tampoco aceptar ninguna respuesta. Tal vez quiera obtener unadoublecon el mismo patrón de bits que ellongvalor. Bueno, no lo se. Así que solo di la respuesta.Long i = 1000000; String s = i + ""; Double d = Double.parseDouble(s); Float f = Float.parseFloat(s);De esta manera podemos convertir el tipo Long a Double o Float o Int sin ningún problema porque es fácil convertir el valor de la cadena en Double o Float o Int.
fuente
¿Qué quieres decir con un tipo de cita larga ?
Puedes lanzar un largo a un doble:
double d = (double) 15552451L;fuente
Puedes probar algo como esto:
long x = somevalue; double y = Double.longBitsToDouble(x);fuente
Creo que es bueno para ti.
BigDecimal.valueOf([LONG_VALUE]).doubleValue()¿Qué tal este código? :RE
fuente