मेरे पास एक स्ट्रिंग सरणी है। क्या जांच करने के लिए करता है, तो सभी सरणी के तत्वों के नंबर दिए गए हैंसंख्याओं की जांच करने का सबसे आसान तरीका
string[] str = new string[] { "23", "25", "Ho" };
मेरे पास एक स्ट्रिंग सरणी है। क्या जांच करने के लिए करता है, तो सभी सरणी के तत्वों के नंबर दिए गए हैंसंख्याओं की जांच करने का सबसे आसान तरीका
string[] str = new string[] { "23", "25", "Ho" };
आप Microsoft.VisualBasic
विधानसभा के लिए एक संदर्भ जोड़ने, तो आप निम्न एक लाइनर का उपयोग कर सकते हैं:
bool isEverythingNumeric =
str.All(s => Microsoft.VisualBasic.Information.IsNumeric(s));
चालाक +1 ... आउट-ऑफ-द-बॉक्स सोच –
+1, यह विचार मुझे डराता है, लेकिन, नरक, यह काम करता है =) –
विज़ुअलबासिक के लिए इतना विशिष्ट क्यों लगता है? – davidfowl
इस प्रयास करें सबसे सरल तरीका है:
string[] str = new string[] { "23", "25", "Ho" };
double trouble;
if (str.All(number => Double.TryParse(number, out trouble)))
{
// do stuff
}
अच्छा विचार है, लेकिन यह केवल तभी काम करेगा जब सभी नंबर Int32 के अंदर फिट हों। – Konamiman
किस मामले में, डबल। ट्राईपर्स को काम करना चाहिए। –
तथ्य यह है कि एक स्ट्रिंग भी वर्ण की एक सरणी है का उपयोग करना, आप कुछ कर सकते हैं इस तरह:
str.All(s => s.All(c => Char.IsDigit(c)));
लेकिन यह तारों के साथ काम नहीं करेगा जिसमें सफेद स्थान है। और वैज्ञानिक नोटेशन के बारे में कैसे? –
ऐसा लगता है कि हमें परिभाषित करने की आवश्यकता है कि पहले नंबर क्या है =) –
कोना ... -1 के बारे में क्या? यह एक डाउनवोट नहीं है: पी बस एक प्रश्न;) –
आप ऐसा कर सकते हैं:
var isOnlyNumbers = str.All(s =>
{
double i;
return double.TryParse(s, out i);
});
अज्ञात डाउनवोट क्यों? –
या LINQ के बिना ...
bool allNumbers = true;
foreach(string str in myArray)
{
int nr;
if(!Int32.TryParse(str, out nr))
{
allNumbers = false;
break;
}
}
कैसे नियमित अभिव्यक्ति का उपयोग कर के बारे में?
using System.Text.RegularExpressions;
...
bool isNum= Regex.IsMatch(strToMatch,"^\\d+(\\.\\d+)?$");
कृपया, संख्या निर्धारित करें: अपने एक int32, दशमलव, फ्लोट सूत्रीय? –