Gibt es eine Möglichkeit, einen Long
Datentyp in Double
oder zu konvertieren double
?
Zum Beispiel muss ich 15552451L
in einen double
Datentyp konvertieren .
java
type-conversion
Harry
quelle
quelle
Long.valueOf(15552451L).doubleValue()
Wenn Sie über gehen möchtenLong
. Beachten Sie, dass dies intern dasselbe ist wie die Besetzung von adouble
, außer dass Sie Auto / Unboxing durchführen.new
), in denen es nicht beseitigt werden kann.double d = 15552451L;
Einfaches Casting?
quelle
15552451d
Wie bereits erwähnt, können Sie einfach lange bis doppelt werfen. Seien Sie jedoch vorsichtig bei der Umwandlung von Long in Double, da Long to Double eine engere Konvertierung in Java darstellt.
Die Konvertierung vom Typ double in den Typ long erfordert eine nicht triviale Übersetzung von einem 64-Bit-Gleitkommawert in die 64-Bit-Ganzzahldarstellung. Abhängig vom tatsächlichen Laufzeitwert können Informationen verloren gehen.
Beispiel: Das folgende Programm gibt 1 und nicht 0 aus
quelle
Suchen Sie die binäre Konvertierung?
Dies gibt Ihnen das
double
gleiche Bitmuster wie daslong
Literal.Hier sind binäre oder hexadezimale Literale hilfreich. Hier sind einige Beispiele.
(Siehe Double.longBitsToDouble (lang) )
Sie können auch den
long
Rücken mit bekommen(Siehe Double.doubleToRawLongBits (double) )
quelle
long
zudouble
(ich glaube , Gießen eines der ersten Dinge , die Sie lernen , wenn Java verwendet wird ) noch hat er eine Antwort akzeptieren. Vielleicht möchte er eindouble
mit dem gleichen Bitmuster wie derlong
Wert erhalten. Nun, ich weiß es nicht. Also gab ich nur die Antwort.Auf diese Weise können wir Long-Typen problemlos in Double oder Float oder Int konvertieren, da es einfach ist, Zeichenfolgenwerte in Double oder Float oder Int zu konvertieren.
quelle
Was meinst du mit einem langen Datumstyp ?
Sie können ein Long zu einem Double machen:
quelle
Sie können so etwas ausprobieren:
quelle
Ich denke es ist gut für dich.
BigDecimal.valueOf([LONG_VALUE]).doubleValue()
Wie wäre es mit diesem Code? : D.
quelle