java बदलन दशमलव के बाद केवल दो अंक दिखाएं




भिन्न को दशमलव में बदलिए (6)

यहां मैं आपको दिखाऊंगा कि आपका दशमलव कम कैसे करें, यहां मैं दशमलव के बाद इसे 4 मान कम कर दूंगा।

   double value = 12.3457652133
  value =Double.parseDouble(new DecimalFormat("##.####").format(value));

इस प्रश्न का उत्तर यहां दिया गया है:

डबल पॉइंट कैसे प्राप्त करें जो दशमलव बिंदु के बाद केवल दो अंक है।

उदाहरण के लिए

अगर

i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));

यह कोड 5.81403333 उत्पन्न 5.81403333

लेकिन मुझे केवल 5.81

तो मैं क्या शर्मिंदा हूँ?


DecimalFormat प्रयोग करें।

DecimalFormat संख्याफॉर्मैट का एक ठोस उप-वर्ग है जो दशमलव संख्या स्वरूपित करता है। इसमें कई प्रकार की विशेषताएं हैं जो पश्चिमी, अरबी और इंडिक अंकों के समर्थन सहित किसी भी लोकेल में संख्याओं को पार्स और प्रारूपित करने के लिए डिज़ाइन की गई हैं। यह पूर्णांक (123), फिक्स्ड-पॉइंट नंबर (123.4), वैज्ञानिक नोटेशन (1.23 ई 4), प्रतिशत (12%), और मुद्रा राशि ($ 123) समेत विभिन्न प्रकार की संख्याओं का भी समर्थन करता है। इन सभी को स्थानीयकृत किया जा सकता है।

कोड स्निपेट -

double i2=i/60000;
tv.setText(new DecimalFormat("##.##").format(i2));

आउटपुट -

5.81


public class MathRound {
    public static void main(String[] args) {

        double number1 = 10.123456;
        double number2 = (int)Math.round(number1 * 100)/(double)100;
        System.out.println(number2);
    }
}

i=348842.
double i2=i/60000;
DecimalFormat dtime = new DecimalFormat("#.##"); 
i2= Double.valueOf(dtime.format(time));
v.setText(String.valueOf(i2));

पहली चीज जो कि डेवलपर हेड में पॉप अनुक्रम में एक संख्या स्वरूपित करते समय पॉप करना चाहिए, इस तरह के विवरणों का ख्याल रखना चाहिए जैसे ऑपरेशन को उलटना संभव होगा।

और दूसरा पहलू उचित परिणाम प्रदान कर रहा है। तो आप संख्या को छोटा करना या इसे गोल करना चाहते हैं।

तो शुरू करने से पहले आपको अपने आप से पूछना चाहिए, क्या मुझे मूल्य पर दिलचस्पी है या नहीं।

अपने लक्ष्य को प्राप्त करने के लिए आपके पास कई विकल्प हैं लेकिन उनमें से अधिकतर Format और Formatter संदर्भ लेते हैं, लेकिन मैं बस इस उत्तर को देखने का सुझाव देता हूं।


मुझे लगता है कि सबसे अच्छा और सरल समाधान है (केआईएसएस):

double i = 348842;
double i2 = i/60000;
float k = (float) Math.round(i2 * 100) / 100;




number-formatting