ฉันมีลูกลอยดั้งเดิมและฉันต้องการเป็นคู่ดั้งเดิม เพียงแค่การลอยตัวเป็นสองเท่าทำให้ฉันมีความแม่นยำเป็นพิเศษ ตัวอย่างเช่น:
float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375
อย่างไรก็ตามหากแทนที่จะทำการแคสต์ฉันจะส่งออก float เป็นสตริงและแยกวิเคราะห์สตริงเป็นคู่ฉันจะได้สิ่งที่ต้องการ
System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
มีวิธีที่ดีกว่าการไปที่ String และย้อนกลับหรือไม่?