दरअसल, फ्लोट को डाउन करने के अलग-अलग तरीके हैं, जो आप प्राप्त करना चाहते हैं उसके परिणाम के आधार पर: (उदाहरण के लिए i
, फ्लोट f
)
गोल (निकटतम पूर्णांक फ्लोट को दिया गया)
i = Math.round(f);
f = 2.0 -> i = 2 ; f = 2.22 -> i = 2 ; f = 2.68 -> i = 3
f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -3
नोट: यह अनुबंध के बराबर है (int) Math.floor(f + 0.5f)
छोटा करें (यानी दशमलव डॉट के बाद सब कुछ छोड़ दें)
i = (int) f;
f = 2.0 -> i = 2 ; f = 2.22 -> i = 2 ; f = 2.68 -> i = 2
f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -2
छत / मंजिल (एक पूर्णांक हमेशा दिए गए मूल्य से बड़ा / छोटा होता है, यदि इसका कोई आंशिक भाग होता है)
i = (int) Math.ceil(f);
f = 2.0 -> i = 2 ; f = 2.22 -> i = 3 ; f = 2.68 -> i = 3
f = -2.0 -> i = -2 ; f = -2.22 -> i = -2 ; f = -2.68 -> i = -2
i = (int) Math.floor(f);
f = 2.0 -> i = 2 ; f = 2.22 -> i = 2 ; f = 2.68 -> i = 2
f = -2.0 -> i = -2 ; f = -2.22 -> i = -3 ; f = -2.68 -> i = -3
सकारात्मक मूल्यों को गोल करने के लिए , आप बस उपयोग कर सकते हैं (int)(f + 0.5)
, जो Math.Round
उन मामलों में ठीक उसी तरह काम करता है (जैसा कि डॉक्टर के अनुसार)।
तुम भी उपयोग कर सकते हैं Math.rint(f)
करने के लिए भी पूर्णांक निकटतम करने के लिए राउंडिंग ; यकीनन यह उपयोगी है यदि आप आंशिक रूप से भिन्न फ़्लोट के साथ बहुत से निपटने की उम्मीद करते हैं ।5 (बराबर IEEE राउंडिंग मुद्दों पर ध्यान दें), और सेट के औसत को यथावत रखना चाहते हैं; आप एक और पूर्वाग्रह का परिचय देंगे, जहाँ विषम से भी अधिक संख्याएँ समान होंगी।
देख
http://mindprod.com/jgloss/round.html
http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html
अधिक जानकारी और कुछ उदाहरणों के लिए।