मैं वास्तव में जांच कर सकता हूं कि कोई चर एक डबल है या नहीं?
आप क्या आप वास्तव में यहां यही प्रयास कर रहे हैं के बारे में स्पष्ट होना चाहिए। मुझे नहीं लगता कि आप पूछ रहे हैं कि आप क्या सोच रहे हैं, और शब्दावली में मतभेदों के बारे में जागरूक होने के लायक हैं।
आप एक चर जो, घोषित प्रकार double
का हो रहा है तो यह निश्चित रूप से एक double
है मिल गया है, तो।आप एक चर किस प्रकार object
, ValueType
या इंटरफेस का समर्थन करता है में से एक का होना घोषित किया जाता है मिल गया है, तो आप
if (value is double)
उपयोग कर सकते हैं लेकिन यह क्या तुम सच में जानना चाहता हूँ कि क्या एक है की तरह लगता है स्ट्रिंग मूल्य parseable एक double
के रूप में है। उसके लिए, आपको double.TryParse
का उपयोग करना चाहिए - लेकिन आप भी क्या संस्कृति में आपकी रुचि है के बारे में सोचने की जरूरत उदाहरण के लिए, यदि आप "15,5" मान्य double
के रूप में देखने जाएगा।? यूरोपीय उपयोगकर्ता शायद, लेकिन अमेरिकी उपयोगकर्ता शायद नहीं करेंगे। क्या आप हजारों विभाजकों को अनुमति देना चाहते हैं?
मैं दृढ़ता से अधिभार जो एक IFormatProvider
लेता है का उपयोग करें और उचित संस्कृति उपयोग करने के लिए आपको सलाह देंगे। यहां तक कि यदि आप रुचि रखते हैं संस्कृति डिफ़ॉल्ट है, तो इसके बारे में स्पष्ट होने के लायक है।
आप शायद चाहते हैं:
double result;
// For suitable values of text, style and culture...
bool valid = double.TryParse(text, style, culture, out result);
फिर निर्धारित करने के लिए किया जाए या नहीं यह वास्तव में ठीक प्रकार से पार्स किया गया था valid
चर का उपयोग करें। यदि valid
सत्य है, तो result
का मान पार्स किया गया मान है। यदि valid
गलत है, result
0.
स्रोत
2012-03-22 14:09:49
"चर" गलत शब्द है। आप यह निर्धारित करने की कोशिश कर रहे हैं कि पाठ को फ़्लोटिंग-पॉइंट मान में परिवर्तित किया जा सकता है या नहीं। यदि आप एक चर के प्रकार का निर्धारण कर रहे थे, तो आप variable.GetType() == टाइपफ़ोफ़ (डबल) – Brannon