जो मैं चाहूंगा वह एक ऐसी विधि है जो डबल को एक स्ट्रिंग में बदलने के लिए है जो कि अर्ध-अप विधि का उपयोग करके गोल होती है - अर्थात यदि दशमलव को 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
जावा में इसे प्राप्त करने का सबसे अच्छा तरीका क्या है?