Existe-t-il un moyen de convertir un Long
type de données en Double
ou double
?
Par exemple, je dois convertir 15552451L
en un double
type de données.
java
type-conversion
Harry
la source
la source
Long.valueOf(15552451L).doubleValue()
si vous voulez passer parLong
. Notez que c'est la même chose, en interne, que la distribution à partir de adouble
, sauf que vous faites de l'auto / unboxing.new
) où elle ne peut pas être éludée.double d = 15552451L;
Un casting simple?
la source
15552451d
Comme déjà mentionné, vous pouvez simplement lancer long pour doubler. Mais soyez prudent avec une conversion longue à double car longue à double est une conversion rétrécie en java.
La conversion de type double en type long nécessite une traduction non triviale d'une valeur à virgule flottante 64 bits à la représentation entière de 64 bits. Selon la valeur d'exécution réelle, des informations peuvent être perdues.
Par exemple, le programme suivant imprimera 1 et non 0
la source
Cherchez-vous la conversion binaire?
Cela vous donnera
double
le même motif de bits que lelong
littéral.Les littéraux binaires ou hexadécimaux seront utiles ici. Voici quelques exemples.
(Voir Double.longBitsToDouble (long) )
Vous pouvez également récupérer
long
avec(Voir Double.doubleToRawLongBits (double) )
la source
long
àdouble
(je pense que la coulée est l' une des premières choses que vous apprenez lorsque vous utilisez Java) ni n'a accepter aucune réponse. Peut-être qu'il veut obtenir undouble
avec le même motif de bits que lalong
valeur. Eh bien, je ne sais pas. Alors j'ai juste donné la réponse.De cette façon, nous pouvons convertir le type Long en Double ou Float ou Int sans aucun problème car il est facile de convertir une valeur de chaîne en Double ou Float ou Int.
la source
Qu'entendez-vous par un type de date longue ?
Vous pouvez lancer un long en double:
la source
Vous pouvez essayer quelque chose comme ceci:
la source
Je pense que c'est bon pour toi.
BigDecimal.valueOf([LONG_VALUE]).doubleValue()
Et ce code? :RÉ
la source