दिलचस्प पोस्ट
TextView के पृष्ठभूमि रंग पर चयनकर्ता Jquery में बंद करने के लिए बाहर मेनू पर क्लिक करें 'कोई परिवहन नहीं' त्रुटि w / jQuery में AJAX कॉल IE क्यों SimpleDateFormat गलत दिनांक पार्स करता है? ट्रस्ट स्टोर बनाम कुंजी स्टोर – मुख्य टोल के साथ बनाना वसंत बूट निकालें व्हाइटलबेल त्रुटि पृष्ठ मैं डेल्फी में कमांड लाइन प्रोग्राम कैसे चलाऊँ? छपाई संवाद बंद होने के बाद विंडो स्वचालित रूप से बंद करें Angularjs एनजी-दृश्य के भीतर स्क्रिप्ट लोड नहीं करता है सी ++ में स्थिर सरणी बनाम गतिशील सरणी एक्सएमएल में स्ट्रिंग एस्केप JRadioButton को jTable में जोड़ना एंड्रॉइड के डिफॉल्ट म्यूजिक प्लेयर या किसी अन्य संगीत प्लेयर को नियंत्रित करें कमजोर संदर्भ लाभ क्या वास्तव में संश्लेषण करता है?

दो पूर्णांक का विभाजन जावा में 0.0 क्यों मिलता है?

int totalOptCount = 500; int totalRespCount=1500; float percentage =(float)(totalOptCount/totalRespCount); 

यह हमेशा 0.0 मान क्यों वापस करता है? इसके अलावा मैं इसे 00.00 प्रारूप में प्रारूपित करना और स्ट्रिंग में कनवर्ट करना चाहता हूं?

Solutions Collecting From Web of "दो पूर्णांक का विभाजन जावा में 0.0 क्यों मिलता है?"

क्योंकि विभाजन के बाद फ्लोट का रूपांतरण होता है। आप की जरूरत है:

 float percentage = ((float) totalOptCount) / totalRespCount; 

आपको इस तरह से कुछ का उपयोग करने में सक्षम होना चाहिए:

 String str = String.format("%2.02f", percentage); 

यदि आप int वैल्यू का उपयोग कर रहे हैं, तो double का उपयोग करना एक बेहतर विकल्प हो सकता है और कम गोल त्रुटि हो सकती है float त्रुटि के बिना ~ 16 मिलियन तक के मूल्यों का प्रतिनिधित्व कर सकता है double सही सभी int मानों का प्रतिनिधित्व कर सकते हैं

 double percentage =(double) totalOptCount / totalRespCount; 

आमतौर पर प्रतिशत 100 से गुणा किया जाता है, जिसका अर्थ है कि आप कलाकारों को छोड़ सकते हैं।

 double percentage = 100.0 * totalOptCount / totalRespCount; 

जावा में पूर्णांक डिवीजन (जिसमें लांग, शोर्ट, बाइट, चार, इंट शामिल है) हमेशा एक इंट (या लम्बाई देता है, यदि पैरामीटर में से एक लंबा है) इस गणना के बाद आपका रूपांतरण होता है

(फ़ॉर्मेटिंग प्रश्न पहले से अन्य उत्तरों के उत्तर दिए गए हैं – वैकल्पिक रूप से आप जावा.टेक्स्ट.नंबरफ़ॉर्मेट पर भी एक नजर डाल सकते हैं, विशेष रूप से java.text.DecimalFormat।)

 String.format("%2.02f", (float)totalOptCount/totalRespCount); 

एक प्रारूप के रूप में डबल और प्रिंट आउट करने के लिए, आप प्रयोग का उपयोग कर सकते हैं

 System.out.println(new DecimalFormat("##.##").format(yourDouble) + "%")); 

(totalOptCount/totalRespCount)

यहां लाभांश और विभाजक दोनों प्रकार के प्रकार हैं, जिसका अर्थ है कि वे केवल पूर्णांक मान की अनुमति देंगे और इस तरह के समीकरण का उत्तर हमेशा एक पूर्णांक होगा।

अगर मैं इसे तोड़ता हूं तो यह नीचे की तरह कुछ होगा

(double)(500/1500)

वास्तविक गणना के अनुसार, 500/1500 आपको 0.33333 देगा, लेकिन संकलक इसे पूर्णांक में शाब्दिक रूप में बदल देगा क्योंकि दोनों प्रारुप प्रकार के होते हैं

(double)(0)

संकलक को इस 0 मान को दोगुना करने के लिए एक निर्देश मिलता है ताकि आपको परिणाम के रूप में 0.0

0.0

और फिर आप परिणाम को किसी भी प्रारूप में बदल सकते हैं, जैसे कि @ ज़ैच जानिकी द्वारा चुने गए।

ध्यान रखें कि यदि दोनों ऑपरेंड परिणाम की तुलना में एक ही प्रकार के होते हैं तो समान प्रकार का भी होगा।