सबसे अच्छा तरीका है एक कन्वर्ट करने के लिए क्या है 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
आप आंशिक भाग को छोटा कर देंगे। यही है, अगर SomeDouble
4.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