ऐसा इसलिए है, क्योंकि toString() वर्तमान CultureInfo का उपयोग करता है! यह संस्कृति पर निर्भर करता है कि क्या डबल को अल्पविराम या बिंदु से अलग किया जाता है।
यह भी देखें यह स्टैक ओवरफ्लो प्रश्न!
यदि आप इसे डीबग करते हैं तो आपको यह देखना चाहिए कि पाठक ["मूल्य"] एक वस्तु लौटा रहा है (प्रकार =वस्तु {डबल})। क्या यहाँ मूल्य सही है? मुझे लगता है कि यह है, इसलिए डबल-वैल्यू प्रदर्शित करने के लिए बस निम्नलिखित करें:
string display = double.Parse(reader["Price"], CultureInfo.InvariantCulture).ToSring(CultureInfo.CurrentCulture);
System.Diagnostics.Debug.WriteLine(display);