java - बदलन - भिन्न को दशमलव में बदलिए




दशमलव के बाद केवल दो अंक दिखाएं (5)

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

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

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

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

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

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

उदाहरण के लिए

अगर

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

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

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

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


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

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

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

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

कोड स्निपेट -

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

आउटपुट -

5.81


String.format("%.2f", i2) बारे में कैसे?


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);
    }
}




number-formatting