मैं इस तरह तार है:अग्रणी शून्य को बाहर करने के लिए मैं एक स्ट्रिंग को कैसे सुधार सकता हूं?
var abc = "002";
var def = "023";
कैसे मैं आसानी से तार को बदल सकते हैं तो अग्रणी शून्य गिरा रहे हैं?
मैं इस तरह तार है:अग्रणी शून्य को बाहर करने के लिए मैं एक स्ट्रिंग को कैसे सुधार सकता हूं?
var abc = "002";
var def = "023";
कैसे मैं आसानी से तार को बदल सकते हैं तो अग्रणी शून्य गिरा रहे हैं?
सबसे आसान सही तरीका है:
int.Parse(s).ToString();
ट्रिम तरीकों सब "0000" के इनपुट के लिए असफल, वे सही "0" के बजाय कोई रिक्त स्ट्रिंग लौट जाएँगे।
TrimStart पर एक नज़र डालें:
numberString = numberString.TrimStart('0');
MSDN से:
TrimStart विधि वर्तमान स्ट्रिंग से निकाल देता है सभी प्रमुख अक्षर हैं जो trimChars पैरामीटर में हैं। ट्रिम ऑपरेशन तब बंद हो जाता है जब एक वर्ण जो ट्रिम में नहीं होता है।
+1 ने मुझे यह करने के लिए हराया। –
+1 दूसरे उत्तर की तुलना में काफी बेहतर है जो मान मानता है एक पूर्णांक है; मूल्य "0012 एबीसी" या "00 99 99 99 99 99 99 99 99" हो सकते हैं, जिनमें से दोनों 'int.Parse' के साथ असफल हो जाएंगे। –
इस सीमा पर विचार करें (विषय पर नहीं, मुझे पता है) 'सिस्टम। स्ट्रिंग ट्रिमस्टार्ट (चार []) 'केवल LINQ से इकाइयों में समर्थित है जब तर्कों के रूप में निर्दिष्ट कोई ट्रिम वर्ण नहीं हैं –
यह हमेशा है पूर्णांक के साथ, तो आप सिर्फ यह पार्स कर सकते हैं:
abc = int.Parse(abc).ToString()
var str = int.Parse(abc).ToString();
काम मुझे लगता है कि क्या करना चाहिए। संख्या को int में कनवर्ट करें, और उसके बाद इसे वापस स्ट्रिंग में कनवर्ट करें।
मेरा वोट यहां, क्योंकि यह नकारात्मक संख्याओं के साथ भी काम करता है। TrimStart विधि का उपयोग करने वाले समाधान ऐसे मामले में विफल हो जाएंगे। –
में ऋणात्मक संख्या नहीं है .. एक स्ट्रिंग – nologo
@nologo का मतलब है कि उसका मतलब है कि ट्रिम स्टार्ट विधि "-00123" –
var abc = "0023";
var zeroless = abc.TrimStart('0');
उत्पादन: "23"
ओपी के विषय पर नहीं, लेकिन लोगों के लिए खोजों से ठोकर खाने के लिए, इस 'ट्रिम स्टार्ट' सीमा पर विचार करें: 'सिस्टम। स्ट्रिंग ट्रिमस्टार्ट (चार [])' केवल LINQ से इकाइयों में समर्थित है जब तर्क के रूप में निर्दिष्ट कोई ट्रिम वर्ण नहीं हैं ' –
string some_string = "000045";
string ur_desire = int.Parse(some_string).ToString();
Console.WriteLine(ur_desire);
thix ix अच्छा जवाब मुझे लगता है कि क्योंकि यह भी नकारात्मक संख्या के साथ काम करता ..
+1 आप सही हैं। मैंने इसे लिया क्योंकि स्ट्रिंग हमेशा 0012 की तरह कुछ है, 0000 नहीं। आप 0000 से एक अग्रणी शून्य नहीं हटाएंगे। जब तक कि आप 0 होना चाहते हैं, मुझे लगता है। –
यह विभिन्न मामलों में काम नहीं करेगा - स्ट्रिंग में अल्फा वर्ण होते हैं, दशमलव का स्ट्रिंग प्रस्तुति है, या एक इंटीजर है जो 'Int32.MaxValue' से अधिक है। –
@ किर्कबॉडहर्स्ट: "अग्रणी शून्य" शब्द आमतौर पर अंकों के तारों के लिए उपयोग किया जाता है, और इसमें किसी के स्थान में शून्य शामिल नहीं होता है। इसके अलावा, प्रश्न में उदाहरण डेटा केवल अंक हैं। –