सबसे अच्छा तरीका है एक कन्वर्ट करने के लिए क्या है doubleएक करने के लिए int? क्या एक कास्ट का इस्तेमाल किया जाना चाहिए?
etc.:)
सबसे अच्छा तरीका है एक कन्वर्ट करने के लिए क्या है doubleएक करने के लिए int? क्या एक कास्ट का इस्तेमाल किया जाना चाहिए?
etc.:)
जवाबों:
यदि आप डिफॉल्ट ट्रंकट-प्रति-शून्य व्यवहार चाहते हैं तो आप एक कास्ट का उपयोग कर सकते हैं। वैकल्पिक रूप से, आप उपयोग करना चाहते हो सकता है Math.Ceiling, Math.Round, Math.Floorआदि - हालांकि आप अभी भी बाद में एक डाली की आवश्यकता होगी।
मत भूलो कि की सीमा सीमा की intतुलना में बहुत छोटी है double। से एक डाली doubleको intयदि मान की सीमा के बाहर है एक अपवाद फेंक नहीं होगा intके लिए एक कॉल जबकि, एक अनियंत्रित संदर्भ में Convert.ToInt32(double)इच्छा। यदि मूल्य सीमा के बाहर है, तो कलाकारों का परिणाम (अनियंत्रित संदर्भ में) स्पष्ट रूप से अपरिभाषित है।
intका आकार हमेशा 32 बिट्स होता है, भले ही आप 32 या 64 बिट मशीन का उपयोग कर रहे हों।
intVal = System.Convert.ToInt32(System.Math.Floor(dblVal));
using System;फ़ाइल के शीर्ष पर होगा, जिस बिंदु पर यह अभी हो सकता हैintVal = Convert.ToInt32(Math.Floor(dblVal));
usingनिर्देशों के बारे में सीखना है ।
यदि आप कास्ट का उपयोग करते हैं, अर्थात, (int)SomeDoubleआप आंशिक भाग को छोटा कर देंगे। यही है, अगर SomeDouble4.9999 थे , तो परिणाम 4 होगा, 5 नहीं। int में परिवर्तित करना संख्या को गोल नहीं करता है। अगर आप राउंडिंग यूज चाहते हैंMath.Round
हां क्यों नहीं?
double someDouble = 12323.2;
int someInt = (int)someDouble;
Convertकक्षा का उपयोग करना भी अच्छा है।
int someOtherInt = Convert.ToInt32(someDouble);
Convert.ToInt32 कन्वर्ट करने का सबसे अच्छा तरीका है
यहाँ एक पूर्ण उदाहरण है
class Example
{
public static void Main()
{
double x, y;
int i;
x = 10.0;
y = 3.0;
// cast double to int, fractional component lost (Line to be replaced)
i = (int) (x / y);
Console.WriteLine("Integer outcome of x / y: " + i);
}
}
यदि आप संख्या को पूर्णांक के करीब करना चाहते हैं, तो निम्न कार्य करें:
i = (int) Math.Round(x / y); // Line replaced
मुझे लगता है कि सबसे अच्छा तरीका है Convert.ToInt32।
मेरे तरीके हैं:
- Convert.ToInt32(double_value)
- (int)double_value
- Int32.Parse(double_value.ToString());
double_value = 0.1