मैं एक जावा गुई प्रोग्राम लिख रहा हूं जो माप की विभिन्न इकाइयों को परिवर्तित करता है। मैं परिणाम के आउटपुट को दो दशमलव स्थान तक सीमित करना चाहता हूं, इसलिए यह साफ-सुथरा दिखता है, हालांकि मैं इसे काम पर लाने के लिए संघर्ष कर रहा हूं। नीचे मेरा कोड है कृपया कोई मदद कर सकता है।

if (text.isEmpty() == false) {

            double value = Double.parseDouble(text);

            // the factor applied during the conversion
            double factor = 0;

            // the offset applied during the conversion.
            double offset = 0;


            // Setup the correct factor/offset values depending on required conversion
            switch (combo.getSelectedIndex()) {

            case 0: // inches/cm
                factor = 2.54;
                break;

            case 1: // miles/km
                factor = 1.60;
                break;

            case 2: // pounds/kilograms
                factor = 0.45;
                break;

            case 3: // gallons/Litres   
                factor = 4.54;
                break;

            case 4: // feet/meters  
                factor = 0.30;
                break;

            case 5: //  celsius/kelvin
                factor = 1;
                offset=273.15;
                break;

            case 6: //  acres/hectare   
                factor = 2.471;
                break;
            }

            double result = 0;


            if(reverseCheck.isSelected() == true) {
                result = factor / value - offset;


            }else {
                result = factor * value + offset;
            }



            count++;
            labelCount.setText("Conversion Count: "+count);


            label.setText(Double.toString(result));

            DecimalFormat decFormat = new DecimalFormat("0.00");
            decFormat.format(result);

मैं प्रोग्रामिंग के लिए नया हूं इसलिए यदि आप कृपया बता सकते हैं कि यह कोड कार्यात्मक क्यों नहीं है तो इसकी बहुत सराहना की जाएगी। मेरा आउटपुट वर्तमान में बहुत अधिक दशमलव स्थान है और मुझे इसे केवल 2 दशमलव स्थानों की आवश्यकता है।

-3
NoviceProgram12 24 अक्टूबर 2018, 20:52

1 उत्तर

सबसे बढ़िया उत्तर

मैं प्रोग्रामिंग के लिए नया हूँ

तो पहली चीज जो आपको सीखने की जरूरत है वह यह है कि समस्या को कैसे सरल बनाया जाए।

मैं परिणाम के आउटपुट को दो दशमलव स्थान तक सीमित करना चाहता हूं ताकि यह साफ दिखे

तो, अपने शेष आवेदन के बारे में भूल जाओ और सीखें कि यह कैसे करना है:

double value =  123.45678;
DecimalFormat decFormat = new DecimalFormat("0.00");
String formatted = decFormat.format(value);
System.out.println( formatted );

मैं एक जावा गुई प्रोग्राम लिख रहा हूं जो माप की विभिन्न इकाइयों को परिवर्तित करता है।

यह आपके प्रश्न के लिए अप्रासंगिक है। जैसा कि आप उपरोक्त उदाहरण से देख सकते हैं कि आप पहले हार्डकोडेड डेटा के साथ एक नई अवधारणा का परीक्षण करते हैं।

एक बार जब आप वह काम कर लेते हैं, तो आप गणितीय गणनाओं के बारे में चिंता करते हैं कि गतिशील रूप से "मान" प्राप्त करें जिसे आप प्रारूपित करना चाहते हैं।

मेरा आउटपुट वर्तमान में बहुत अधिक दशमलव स्थान है

label.setText(Double.toString(result));
DecimalFormat decFormat = new DecimalFormat("0.00");
decFormat.format(result);

क्या आप उपरोक्त कोड के साथ समस्याएं देखते हैं?

  1. आप परिणाम स्वरूपित करने से पहले लेबल का पाठ सेट करते हैं
  2. आप स्वरूपित पाठ को एक चर के लिए निर्दिष्ट नहीं करते हैं ताकि अंतिम विवरण कुछ भी न करे।
2
camickr 24 अक्टूबर 2018, 18:08