2010-06-09 18 views
5

मैं एक डबल वैल्यू प्रिंट करने की कोशिश कर रहा हूं। यह मटिसा और एक्सपोनेंट प्रारूप में छपाई कर रहा है, जो मैं नहीं चाहता हूं। उदाहरण के लिए, मेरा प्रोग्राम मूल्य 1243567 के लिए 1.234567E6 प्रिंट करता है। मैं इसे 1234657 प्रिंट कैसे कर सकता हूं?मंथिसा/एक्सपोनेंट प्रारूप के बिना फ़्लोटिंग पॉइंट मान कैसे मुद्रित किए जा सकते हैं?

+3

कृपया देखने के लिए हमारे लिए कुछ ** प्रासंगिक ** कोड पोस्ट करें। – jjnguy

उत्तर

0

मैं बिल्कुल एक ही समस्या के साथ संघर्ष कर दिया गया है, और यहाँ दो जवाब कैसे समस्या को हल करने पर एक सुराग प्रदान करते हैं: एक फ़ॉर्मेटर का उपयोग करें। न तो जवाब बताता है कि डबल मान को प्रारूपित करने के लिए पैरामीटर की आवश्यकता होती है, और घातीय नोटेशन से बचें।

दो विकल्प हैं। इन्हें दस्तावेज में दशमलव पूर्णांक के लिए "डी" और दशमलव संख्या के लिए "एफ" के रूप में वर्णित किया गया है। मुझे वास्तव में "निश्चित बिंदु" प्रारूप की आवश्यकता है, और यह दस्तावेज़ीकरण द्वारा स्पष्ट रूप से वर्णित नहीं है, हालांकि यदि आप पैरामीटर को सही तरीके से सेट करते हैं तो एफ आपको निश्चित बिंदु देगा। यदि आप दशमलव अंक शून्य पर सेट करते हैं तो यह आपको एक पूर्णांक डिस्प्ले भी देगा।

एक डबल मूल्य 12345678 स्वरूपण आप निम्नलिखित परिणाम देता है के लिए:

Double d = Double.parseDouble("12345678"); 
String r1 = String.format("%f",d);  // 12345678.000000 
String r2 = String.format("%10f",d);  // 12345678.000000 
String r3 = String.format("%5.2f",d);  // 12345678.00 
String r4 = String.format("%5.0f",d);  // 12345678 
String r5 = String.format("%,f",d);  // 12,345,678.000000 
String r6 = String.format("%,5.0f",d); // 12,345,678 
String r7 = String.format("%d",d);  // throws an exception! 

पिछले एक पर, भले ही आप संख्या के एक पूर्णांक प्रदर्शित करना चाहते हैं, तो आप एक साथ 'प' विकल्प का उपयोग नहीं कर सकते डबल।

संबंधित मुद्दे