如何删除前导零
如何使用C#删除nvarchar数据types中的前导零?
例如在下面的数字中,我想删除前导零。
0001234 0000001234 00001234
这实际上取决于NVARCHAR的时间长短,因为上面的几个(特别是通过IntXX转换的)方法不适用于:
String s = "005780327584329067506780657065786378061754654532164953264952469215462934562914562194562149516249516294563219437859043758430587066748932647329814687194673219673294677438907385032758065763278963247982360675680570678407806473296472036454612945621946";
像这样的东西会
String s ="0000058757843950000120465875468465874567456745674000004000".TrimStart(new Char[] { '0' } ); // s = "58757843950000120465875468465874567456745674000004000"
这是你需要的代码:
string strInput = "0001234"; strInput.TrimStart('0');
return numberString.TrimStart('0');
代码避免返回一个空string(当input像“00000”)。
string myStr = "00012345"; myStr = myStr.TrimStart('0'); myStr = myStr.Length > 0 ? myStr : "0";
如果您的号码小于Int32.MaxValue,则TryParse将起作用。 这也让你有机会处理格式不正确的string。 对Int64.MaxValue和Int64.TryParse工作相同。
int number; if(Int32.TryParse(nvarchar, out number)) { // etc... number.ToString(); }
当input全为0时,使用以下将返回单个0。
string s = "0000000" s = int.Parse(s).ToString();