Tuesday 15 March 2011

java - Double always returns 0 when dividing ints -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 12 जवाब
  • 6 जवाब

    क्या किसी को यह समझा जाना चाहिए कि यह काम क्यों नहीं करता है? मौके को छोड़कर सभी चर ints हैं, जबकि मौका एक डबल है जब मैं सभी मूल्यों को प्रिंट करता हूं तो वे निश्चित रूप से सही होते हैं ... लेकिन मौका हमेशा 0.0 के रूप में आता है। मुझे पता है कि इसमें कुछ ऐसी चीजें हैं जो युगल में परिवर्तित करने के लिए होती हैं, क्योंकि मेरे पास इस तरह से कुछ समय पहले की समस्या थी। क्या करना चाहते हैं, आप क्या चाहते हैं?

      खुशहाल = = (glad.dexterity + glad.tactical + weaponSkill); OppValue = (glad.target.dexterity + glad.target.tactical + glad.target.agility); मौका = (ख़ास ख़ास / oppValue) * 10.0;   

    धन्यवाद

    आपको gladValue * 10.0 लिखना चाहिए / OppValue इसके बजाय।

    कारण काफी सूक्ष्म है आपके ब्रैकेट्स का अर्थ है कि gladValue / oppValue पहले गणना की जाती है। लेकिन इन चर पूर्णांक हैं, इसलिए परिणाम एक पूर्णांक है और इसलिए आप अंश अंश खो देते हैं। जब यह 10.0 से गुणा किया जाता है, तो उसे दोहराया जाएगा; लेकिन तब तक यह बहुत देर हो चुकी है।

    यदि आप कहते हैं कि ऐसा करते हैं, तो मन को ध्यान में रखते हुए * और / जैसा वही है और ऑपरेशन बाएं से दाएं होते हैं, तब जब खुशी की गणना * 10.0, खुशहाल फ्लोटिंग प्वाइंट को प्रोत्साहित किया जाता है और फ्लोटिंग पॉइंट परिणाम को oppValue से विभाजित किया जाता है।

No comments:

Post a Comment