Is er een manier om een Long
gegevenstype te converteren naar double
of double
?
Ik moet bijvoorbeeld 15552451L
converteren naar een double
gegevenstype.
Antwoord 1, autoriteit 100%
Je zou gewoon kunnen doen:
double d = (double)15552451L;
Of je zou dubbel kunnen krijgen van Long object als:
Long l = new Long(15552451L);
double d = l.doubleValue();
Antwoord 2, autoriteit 15%
Eenvoudig casten?
double d = (double)15552451L;
Antwoord 3, autoriteit 5%
Zoals eerder vermeld, kun je eenvoudig long werpen om te verdubbelen. Maar wees voorzichtigmet lange naar dubbele conversie, want lang naar dubbele is een versmallende conversiein Java.
bijv. volgend programma drukt 1 af, niet 0
long number = 499999999000000001L;
double converted = (double) number;
System.out.println( number - (long) converted);
Antwoord 4, autoriteit 3%
Bent u op zoek naar de binaire conversie?
double result = Double.longBitsToDouble(15552451L);
Dit geeft je de double
met hetzelfde bitpatroon als de long
letterlijke.
Binaire of hexadecimale letterlijke waarden komen hier van pas. Hier zijn enkele voorbeelden.
double nan = Double.longBitsToDouble(0xfff0000000000001L);
double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L);
double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L);
(Zie Double. longBitsToDouble(lang))
Je kunt de long
ook terugkrijgen met
long bits = Double.doubleToRawLongBits(Double.NaN);
(Zie Double. doubleToRawLongBits(dubbel))
Antwoord 5, autoriteit 2%
Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);
Op deze manier kunnen we Long type zonder problemen converteren naar Double of Float of Int, omdat het gemakkelijk is om stringwaarde om te zetten naar Double of Float of Int.
Antwoord 6
Wat bedoel je met een lange datetype?
Je kunt een long casten naar een double:
double d = (double) 15552451L;
Antwoord 7
Je kunt zoiets als dit proberen:
long x = somevalue;
double y = Double.longBitsToDouble(x);
Antwoord 8
Ik denk dat het goed voor je is.
BigDecimal.valueOf([LONG_VALUE]).doubleValue()
Hoe zit het met deze code?
😀