ASP.NET寻找一种用0或空格填充字符串的方法

时间:2011-12-20 18:52:36

标签: asp.net

嘿我正在寻找一种方法来执行以下操作来填充文本文件

如果我需要填写字段大小为20的字母数字列,并且我只有18个字符来附加两个空白值。

然后,如果字段大小为10,则数字值相同,并且我有5个字符的值,以填充5 0的剩余空格

,而不是10000我会有0000010000

5 个答案:

答案 0 :(得分:2)

The PadLeft method应该做到这一点。像这样:

var output = myTextString.PadLeft(20);

var output = myNumericString.PadLeft(10, '0');

答案 1 :(得分:2)

string s = "10000";
string t = s.PadLeft(20, '0');

答案 2 :(得分:1)

这里有一些应该这样做的伪代码:

int size = mystring.length();
int padding = 20 - size;
string pad = "";
for(padding){
    pad += "0";
}
string newstring = pad + mystring;

http://jsfiddle.net/qtzTu/

答案 3 :(得分:1)

如何使用前导零填充数字: http://msdn.microsoft.com/en-us/library/dd260048.aspx

答案 4 :(得分:-1)

OP意味着字符串长度会有所不同,所以这里有一个Func,你不需要硬代码值,如“10”或“20”

Func<string, int, string> PadStringToSize = (x,y) 
                    => (x.Length < y ? x.PadLeft(y, '0') : x);

然后您可以执行以下操作:

Console.WriteLine(PadStringToSize("10000", 10)); // Pads to 10
Console.WriteLine(PadStringToSize("10000", 30)); // Pads to 30

然后你可以将调用包装成一个方法,该方法将大小作为参数,而不是硬编码所需的长度。