आप दोहरी को निकटतम int में कैसे परिवर्तित करते हैं?मैं डबल को निकटतम पूर्णांक मान में कैसे परिवर्तित कर सकता हूं?
उत्तर
उपयोग Math.round()
, संभवतः MidpointRounding.AwayFromZero
साथ संयोजन के रूप में उदाहरण के लिए:
Math.Round(1.2) ==> 1
Math.Round(1.5) ==> 2
Math.Round(2.5) ==> 2
Math.Round(2.5, MidpointRounding.AwayFromZero) ==> 3
double d = 1.234;
int i = Convert.ToInt32(d);
संभालती है तो तरह गोलाई:
निकटतम 32-बिट हस्ताक्षरित पूर्णांक के लिए गोलाकार। यदि मूल्य आधे रास्ते दो पूर्ण संख्याओं के बीच है, तो भी संख्या वापस आती है; जो है, 4.5 4 में बदल जाती है, और 5,5 6.
बहुत बेहतर है कि 'Math.Round' क्योंकि यह आवश्यकतानुसार एक int लौटाता है। – Keith
@ किथ: लेकिन यह अवैध रूप से * यहां तक कि * ** * * * * के बजाय * यहां तक कि + 1 * ... –
@ रॉबर्ट-कोरिटनिक के रूप में अमान्य रूप से राउंड करता है। निश्चित नहीं है कि यह "अवैध" क्यों है। ओपी ने एक पसंदीदा राउंडिंग नियम निर्दिष्ट नहीं किया है, और "राउंड .5 निकटतम तक भी" मानक नियम है। हमेशा गोल करने से अवांछित सांख्यिकीय प्रभाव होते हैं। – Keith
double d;
int rounded = (int)Math.Round(d);
मैं एक वैज्ञानिक कैलकुलेटर है कि एक इंट बटन खेल के विकास कर रहा हूँ में बदल जाती है। मैंने पाया निम्नलिखित एक सरल, विश्वसनीय समाधान है:
double dblInteger;
if(dblNumber < 0)
dblInteger = Math.Ceiling(dblNumber);
else
dblInteger = Math.Floor(dblNumber);
गणित.गोल कभी कभी अप्रत्याशित या अवांछनीय परिणाम का उत्पादन, और स्पष्ट रूपांतरण पूर्णांक (डाली या Convert.ToInt के माध्यम से ...) अक्सर गलत मूल्यों का उत्पादन उच्च परिशुद्धता संख्या के लिए। उपरोक्त विधि हमेशा काम करता प्रतीत होता है।
क्या यह सभी नकारात्मक संख्याओं को पार नहीं करता है और सभी सकारात्मक संख्याओं को नीचे चलाता है? यह जरूरी नहीं है कि "neaerest" पूर्णांक। –
यह निकटतम संख्या नहीं है। –
1.99 दिया गया, यह 1.0 रिटर्न देता है। –
तुम भी समारोह का उपयोग कर सकते हैं:
//Works with negative numbers now
static int MyRound(double d) {
if (d < 0) {
return (int)(d - 0.5);
}
return (int)(d + 0.5);
}
वास्तुकला के आधार पर यह कई बार तेज है।
यह मेरे लिए गणित के रूप में बिल्कुल सही था। राउंड जिस तरह से मैं चाहता था काम नहीं कर रहा था। – Johannes
@ कुल्ब हां यह करता है। यह डबल डी को परिवर्तित करता है जिसमें 0.5 पूर्णांक होता है, एक पूर्णांक में। – Darrell
यह मेरी पसंदीदा विधि है - एक बहुत ही सरल तरीके से काम करता है। गणित की तुलना में बहुत छोटा और आसान पढ़ने के लिए। राउंड (डी, मिडपॉइंट राउंडिंग। अवेफ्रोज़ेरो) और यदि राउंड डाउन या राउंड अप करना है तो यह चुनने के लिए एक कथन का उपयोग करने से अधिक संक्षिप्त है। और, वास्तव में अंत में एक पूर्णांक देता है, न कि – binderbound
मुझे पता है कि यह प्रश्न पुराना है, लेकिन मैं अपने समान प्रश्न के उत्तर के लिए अपनी खोज में आया। मैंने सोचा कि मैं बहुत उपयोगी सुझाव साझा करूंगा जो मुझे दिया गया है।
int में कनवर्ट करते समय, डाउनकास्टिंग से पहले अपने मूल्य में केवल .5 जोड़ें। चूंकि int को कम करने के लिए हमेशा निम्न संख्या (उदा। (Int) 1.7 = 1 पर गिर जाता है), यदि आपका नंबर .5 या उच्चतम है, तो .5 इसे अगले नंबर में लाएगा और आपके डाउनकास्ट को सही मान वापस करना चाहिए । (उदाहरण के लिए (int) (1.8 + .5) = 2)
मुझे आशा है कि यह उत्तर किसी के लिए सहायक होगा।
समस्या यह है कि यदि आप नकारात्मक मानों को इस तरह से परिवर्तित करने का प्रयास करते हैं। उदाहरण के लिए -1.25 0 के बराबर होगा (-1.25 + 0.5 = 0.75, और एक बार इसे 0 के लिए नीचे डाला जाएगा)। तो आपको नकारात्मक मानों से 0.5 घटाएं। – Eternal21
- 1. mongodb - निकटतम पूर्णांक मान
- 2. मैं इस कॉलम मान को पूर्णांक में कैसे परिवर्तित कर सकता हूं?
- 3. मैं एक चरित्र को पायथन, और उपाध्यक्ष में एक पूर्णांक में कैसे परिवर्तित कर सकता हूं?
- 4. मैं उद्देश्य सी में हेक्स संख्या को पूर्णांक और तारों में कैसे परिवर्तित कर सकता हूं?
- 5. मैं सामान्य लिस्प में एक स्ट्रिंग को पूर्णांक में कैसे परिवर्तित कर सकता हूं?
- 6. मैं एक पूर्णांक को सी में यूनिकोड स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?
- 7. मैं एक बाइट सरणी को डबल और बैक में कैसे परिवर्तित कर सकता हूं?
- 8. डबल मान को बाइनरी मान
- 9. मैं एक 4-बाइट सरणी को एक पूर्णांक में कैसे परिवर्तित कर सकता हूं?
- 10. मैं एनएसडीएटा को एनएसएआरएआरए में कैसे परिवर्तित कर सकता हूं?
- 11. मैं 'System.Windows.Input.Key' को 'System.Windows.Forms.Keys' में कैसे परिवर्तित कर सकता हूं?
- 12. मैं HTML को वस्त्र में कैसे परिवर्तित कर सकता हूं?
- 13. मैं FBProfilePictureView को UIImage में कैसे परिवर्तित कर सकता हूं?
- 14. मैं NSMutableArray को NSString में कैसे परिवर्तित कर सकता हूं?
- 15. निकटतम पूर्ण पूर्णांक
- 16. मैं हेक्स स्ट्रिंग को हस्ताक्षरित पूर्णांक में कैसे परिवर्तित करूं?
- 17. स्ट्रिंग को पूर्णांक टेम्पलेट में पूर्णांक में कैसे परिवर्तित करें?
- 18. दशमलव/डबल से पूर्णांक - राउंड अप (न केवल निकटतम)
- 19. डबल प्राप्त करने के लिए मैं दो पूर्णांक कैसे विभाजित कर सकता हूं?
- 20. मैं एक इंटीजर को जावा में स्थानीयकृत महीने के नाम में कैसे परिवर्तित कर सकता हूं?
- 21. अजगर समूह निकटतम मान
- 22. मैं mysql में बुलियन मान कैसे अपडेट कर सकता हूं?
- 23. मैं CS+ को C++ में डबल में कैसे परिवर्तित करूं?
- 24. मैं एक HTML इनपुट मान के डेटा प्रकार को पूर्णांक में कैसे बदल सकता हूं?
- 25. बिट्स को बाइट्स में कैसे परिवर्तित कर सकता हूं?
- 26. मैं आरजीबी हेक्स स्ट्रिंग को यूआईसीओलर में उद्देश्य-सी में कैसे परिवर्तित कर सकता हूं?
- 27. मैं पैंडस डेटाफ्रेम में मानों को कैसे अलग कर सकता हूं और बाइनरी मैट्रिक्स में परिवर्तित कर सकता हूं?
- 28. क्या मैं फ़ंक्शन में डबल * वापस कर सकता हूं?
- 29. MATLAB में क्या मैं एक जावा बूलियन को MATLAB लॉजिकल में परिवर्तित कर सकता हूं?
- 30. मैं स्ट्रिंग को mysql में एक फ्लोट में कैसे परिवर्तित कर सकता हूं?
'कनवर्ट नहीं करेगा। ToInt32()' वही काम करता है, या क्या यह दशमलव के बाद सबकुछ बस पट्टी करता है? –
वास्तव में एक पूर्णांक उत्पन्न नहीं करता है, लेकिन एक डबल। – gatopeich
मुझे लगता है कि उपरोक्त पंक्तियों 2 और 3 के बीच एक विरोधाभास (यानी त्रुटि) है, नहीं? – Ronnie