30
วิธีการปัดเศษทศนิยมเป็นทศนิยมใน Java
สิ่งที่ฉันต้องการคือวิธีการแปลง double เป็น string ซึ่งปัดโดยใช้ half-up method เช่นถ้าทศนิยมที่จะปัดเศษเป็น 5 มันจะปัดเศษเป็นตัวเลขถัดไปเสมอ นี่เป็นวิธีมาตรฐานในการปัดเศษที่คนส่วนใหญ่คาดหวังในสถานการณ์ส่วนใหญ่ ฉันต้องการให้แสดงเฉพาะตัวเลขที่สำคัญเท่านั้น - นั่นคือไม่ควรมีเลขศูนย์ต่อท้าย ฉันรู้วิธีหนึ่งในการทำเช่นนี้คือการใช้String.formatวิธีการ: String.format("%.5g%n", 0.912385); ผลตอบแทน: 0.91239 อันไหนดี แต่มันจะแสดงตัวเลขที่มีทศนิยม 5 ตำแหน่งเสมอแม้ว่ามันจะไม่สำคัญ: String.format("%.5g%n", 0.912300); ผลตอบแทน: 0.91230 วิธีอื่นคือใช้DecimalFormatter: DecimalFormat df = new DecimalFormat("#.#####"); df.format(0.912385); ผลตอบแทน: 0.91238 อย่างไรก็ตามอย่างที่คุณเห็นนี่ใช้การปัดเศษแบบครึ่งคู่ นั่นคือมันจะปัดเศษหากตัวเลขก่อนหน้านี้เป็นเลขคู่ สิ่งที่ฉันต้องการคือ: 0.912385 -> 0.91239 0.912300 -> 0.9123 วิธีที่ดีที่สุดในการบรรลุสิ่งนี้ใน Java คืออะไร?