एक विंडोज पीसी जापान में पर के रूप में NaN पार्स करने के लिए विफल रहता है, सी # की इस पंक्ति एक प्रारूप अपवाद फेंकता यह नहीं पता कि इस समस्या का निवारण कहां शुरू करें। कोई विचार?सी # एक डबल
अग्रिम धन्यवाद, जिम
एक विंडोज पीसी जापान में पर के रूप में NaN पार्स करने के लिए विफल रहता है, सी # की इस पंक्ति एक प्रारूप अपवाद फेंकता यह नहीं पता कि इस समस्या का निवारण कहां शुरू करें। कोई विचार?सी # एक डबल
अग्रिम धन्यवाद, जिम
मुझे लगता है कि समस्या क्या है। Invariant प्रारूप प्रदाता का उपयोग करने का प्रयास करें।
double d = double.Parse("NaN", CultureInfo.InvariantCulture);
सबसे पहले, आप "NaN" के लिए डबल मूल्य निर्धारण करना चाहिए। वैसे भी, गैर संख्यात्मक प्रारूप स्ट्रिंग को पार्स करने से System.FormatException का कारण बन जाएगा, आपको इसे पकड़ना चाहिए और मैन्युअल रूप से डबल मान सेट करना चाहिए।
double x;
string foo = "NaN";
try
{
x = double.Parse(foo);
}
catch
{
x = 0.0;
}
असल में 'TryParse' पसंदीदा तरीका है क्योंकि यह नियंत्रण प्रवाह के लिए अपवाद पर निर्भर नहीं है। – ChaosPandion
लेकिन परिवर्तनीय को Double.NaN में प्रारंभ करने की आवश्यकता है। यह मान उस फ़ाइल में मौजूद है जो डबल को प्रारंभ कर रहा है। –
मैं मदद कर सकता हूं लेकिन छोटे बच्चे की तरह चकित करता हूं जब मैं 'डबल डी' का उपयोग करता हूं। – ChaosPandion
मैं उपयोगकर्ता को यह टेस्ट भेजूंगा। यदि यह सफल होता है, तो इसका क्या अर्थ है? विंडोज़ में उनके पास कुछ प्रकार का जापानी स्थानीयकरण चालू है? –
@ जिम - यह वही है जिसका अर्थ है। – ChaosPandion