मैं जावा में एक ग्राफिकल कैलकुलेटर प्रोग्राम बना रहा हूं और एक तरीका है जो उपयोगकर्ता इनपुट के आधार पर एक ऑपरेशन करता है, और JTextField
में प्रदर्शित होने के लिए एक डबल देता है। हालांकि, मैं परिणाम को ".0"
के बिना पूरे नंबर के रूप में प्रदर्शित करना चाहता हूं, जहां दशमलव बिंदु के बाद कोई महत्वपूर्ण अंक नहीं है, लेकिन फिर भी आवश्यक होने पर दशमलव बिंदु प्रदर्शित करें। ऐसा करने का सबसे प्रभावी तरीका क्या है?यदि डबल नंबर पूरी संख्या है तो दशकों को प्रदर्शित नहीं किया जा रहा है?
उत्तर
आप अनुगामी वर्ण, उदा .: दबाने के लिए DecimalFormat
उपयोग कर सकते हैं
DecimalFormat format = new DecimalFormat("#.##");
double doubleFromTextField = Double.parseDouble(myField.getText());
System.out.println(format.format(doubleFromTextField));
जो सभी मामलों में आउटपुट को स्वरूपित करने में मदद करता है, लेकिन पिछला दशमलव ".0" है, लेकिन मैं केवल पिछली दशमलव को खत्म करना चाहता हूं। अगर डबल एक पूर्ण संख्या है तो आउटपुट को प्रारूपित करने के लिए मैं सशर्त कैसे लिखूं? आपकी सहायता के लिए धन्यवाद. – Zero
यह उदाहरण प्रभावी रूप से करता है जो आप पूछते हैं, दशमलव बिंदु के बाद कोई भी महत्वपूर्ण (गैर-शून्य) अंक प्रदर्शित किया जाएगा, इसलिए अतिरिक्त जांच की आवश्यकता नहीं है। – Reimeus
मैं बहुत मूर्ख हूं, मैंने नहीं देखा कि यह सही उत्तर प्रिंट कर रहा था जिसे मैं कंसोल में जेटीक्स्टफिल्ड के बजाय चाहता था। धन्यवाद Reimeus! – Zero
शायद एक स्ट्रिंग में बदल जाएंगे और यह वहाँ में हेरफेर एक सशर्त बनाकर अगर अनुगामी दो अक्षर 'हैं .0'? – kush
पिछला वर्णों की जांच करने के लिए मैं सशर्त कैसे लिखूं? – Zero
[DecimalFormat] (http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html) का उपयोग करने वाले प्रश्न के लिए एक बेहतर प्रतिक्रिया है। कृपया नीचे Reimeus का जवाब देखें। – kush