Bir Longveri türünü Doubleveya türüne dönüştürmenin herhangi bir yolu var mı double?
Örneğin, 15552451Lbir doubleveri türüne dönüştürmem gerekiyor .
Yanıtlar:
Şunları yapabilirsiniz:
double d = (double)15552451L;
Ya da Long nesnesinden şu şekilde iki katına çıkabilirsiniz:
Long l = new Long(15552451L);
double d = l.doubleValue();
new) kaçınılamaz.
double d = 15552451L;
Basit döküm?
double d = (double)15552451L;
15552451d
Daha önce de belirtildiği gibi, sadece ikiye katlayabilirsiniz. Ancak, uzuntan ikiye dönüştürmeye dikkat edin çünkü java'da uzuntan ikiye dönüştürme daralmış bir dönüşümdür .
örneğin aşağıdaki program 0 değil 1 yazdıracak
long number = 499999999000000001L;
double converted = (double) number;
System.out.println( number - (long) converted);
İkili dönüşümü mü arıyorsunuz?
double result = Double.longBitsToDouble(15552451L);
Bu size literal doubleile aynı bit modelini verecektir long.
İkili veya onaltılık değişmez değerler burada kullanışlı olacaktır. İşte bazı örnekler.
double nan = Double.longBitsToDouble(0xfff0000000000001L);
double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L);
double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L);
(Bkz. Double.longBitsToDouble (uzun) )
Ayrıca longgeri alabilirsiniz
long bits = Double.doubleToRawLongBits(Double.NaN);
( Double.doubleToRawLongBits'e (çift) bakın )
longiçin doublene de herhangi bir cevabı kabul etmedi (ben döküm Java kullanırken ilk öğrendiği şeylerden biri olduğunu düşünüyorum). Belki doublede longdeğerle aynı bit desenine sahip bir elde etmek istiyor . Ben bilmiyorum. Ben de cevabı verdim.
Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);
Bu şekilde Long type'ı Double veya Float veya Int'ye sorunsuz bir şekilde dönüştürebiliriz çünkü string değerini Double veya Float veya Int'e dönüştürmek kolaydır.
Uzun bir tarih türü ile ne demek istiyorsun ?
Bir ikiye uzatı atabilirsiniz:
double d = (double) 15552451L;
Long.valueOf(15552451L).doubleValue()geçmek istiyorsanızLong.doubleBazı otomatik / kutudan çıkarma yapmanın dışında, bunun a'daki oyuncu kadrosuyla aynı olduğunu unutmayın.