มีวิธีใดในการแปลงLongชนิดข้อมูลเป็นDoubleหรือdouble?
ตัวอย่างเช่นฉันต้องการแปลง15552451Lเป็นdoubleประเภทข้อมูล
มีวิธีใดในการแปลงLongชนิดข้อมูลเป็นDoubleหรือdouble?
ตัวอย่างเช่นฉันต้องการแปลง15552451Lเป็นdoubleประเภทข้อมูล
คำตอบ:
คุณสามารถทำได้:
double d = (double)15552451L;
หรือคุณอาจได้รับสองเท่าจาก Long object เป็น:
Long l = new Long(15552451L);
double d = l.doubleValue();
new) ซึ่งไม่สามารถหลีกเลี่ยงได้
double d = 15552451L;
หล่อง่ายๆ?
double d = (double)15552451L;
15552451d
ดังที่ได้กล่าวไปแล้วคุณสามารถร่ายยาวเป็นสองเท่าได้ แต่ระวังการแปลงแบบ long to double เพราะ long to double เป็นการแปลงที่แคบลงใน java
เช่นโปรแกรมต่อไปนี้จะพิมพ์ 1 ไม่ใช่ 0
long number = 499999999000000001L;
double converted = (double) number;
System.out.println( number - (long) converted);
คุณกำลังมองหาการแปลงไบนารีหรือไม่?
double result = Double.longBitsToDouble(15552451L);
สิ่งนี้จะให้doubleรูปแบบบิตเดียวกับลิเทอlongรัล
ตัวอักษรไบนารีหรือเลขฐานสิบหกจะมีประโยชน์ที่นี่ นี่คือตัวอย่างบางส่วน.
double nan = Double.longBitsToDouble(0xfff0000000000001L);
double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L);
double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L);
(ดูDouble.longBitsToDouble (ยาว) )
คุณยังสามารถรับlongหลังได้อีกด้วย
long bits = Double.doubleToRawLongBits(Double.NaN);
longเป็นอย่างไรdouble(ฉันคิดว่าการแคสต์เป็นสิ่งแรกที่คุณเรียนรู้เมื่อใช้ Java) และเขาไม่ยอมรับคำตอบใด ๆ บางทีเขาอาจต้องการdoubleรูปแบบบิตเดียวกับlongค่า ดีฉันไม่รู้ ผมก็เลยให้คำตอบ
Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);
วิธีนี้เราสามารถแปลง Long type เป็น Double หรือ Float หรือ Int ได้โดยไม่มีปัญหาเพราะง่ายต่อการแปลงค่าสตริงเป็น Double หรือ Float หรือ Int
ประเภทวันที่แบบยาวหมายถึงอะไร?
คุณสามารถร่ายยาวเป็นสองเท่า:
double d = (double) 15552451L;
คุณสามารถลองสิ่งนี้:
long x = somevalue;
double y = Double.longBitsToDouble(x);
ฉันคิดว่ามันเป็นสิ่งที่ดีสำหรับคุณ
BigDecimal.valueOf([LONG_VALUE]).doubleValue()
แล้วรหัสนี้ล่ะ? : ง
Long.valueOf(15552451L).doubleValue()Longโปรดทราบว่าสิ่งนี้เหมือนกันภายในเหมือนกับการแคสต์จาก adoubleยกเว้นว่าคุณกำลังทำการอัตโนมัติ / แกะกล่อง