C# 改进代码字符串处理
我有这个字符串: var string1=numericUpDown2.Text;//一, 始终希望包含4个数字,如0001或“11”=0011 我使用了以下代码:C# 改进代码字符串处理,c#,string,C#,String,我有这个字符串: var string1=numericUpDown2.Text;//一, 始终希望包含4个数字,如0001或“11”=0011 我使用了以下代码: private string Corection4(string variable) { var stringlen = variable.Length; if (stringlen < 2) { string corectvariable = "
private string Corection4(string variable)
{
var stringlen = variable.Length;
if (stringlen < 2)
{
string corectvariable = "000" + variable;
return corectvariable;
}
if (stringlen < 3)
{
string corectvariable = "00" + variable;
return corectvariable;
}
if (stringlen < 4)
{
string corectvariable = "0" + variable;
return corectvariable;
}
else
{
string corectvariable = variable;
return corectvariable;
}
}
私有字符串Corection4(字符串变量)
{
var stringlen=可变长度;
if(stringlen<2)
{
字符串corectvariable=“000”+变量;
返回corectvariable;
}
if(stringlen<3)
{
字符串corectvariable=“00”+变量;
返回corectvariable;
}
if(stringlen<4)
{
字符串corectvariable=“0”+变量;
返回corectvariable;
}
其他的
{
字符串corectvariable=变量;
返回corectvariable;
}
}
现在我需要一些帮助来改进这段代码您可以通过
ToString()
方法使它变得简单。例如:
var correctVariable = variable.ToString("D4");
它会在字符串中添加额外的零
如果正在处理字符串,请首先将其解析为int值:
var correctVariable = string.Format("{0:D4}", int.Parse(variable));
您可以使用
String.Format()
感谢您提供的提示,但现在我发现“D4”参数类型“string”不可分配给参数类型System.iFormatProvider的错误。您应该首先将其解析为int值。看我的第二个例子,十六进制值不起作用var value=Convert.ToInt16(numericUpDown3.Text);var hexOutput=string.Format(“{0:X}”,值);var reg=string.Format(“{0:D4}”,int.Parse(hexOutput))//输出为:3E4一个i-want 03E4 i-try var reg=string.Format(“{0:D4}”,hexOutput);但是我没有解决问题var hexOutput=string.Format(“{0:X4}”,value);
int number = 11;
//D4 = pad with 0000
string outputValue = String.Format("{0:D4}", number);