Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用0填充字符串--格式化样式?_C#_String Length - Fatal编程技术网

C# 用0填充字符串--格式化样式?

C# 用0填充字符串--格式化样式?,c#,string-length,C#,String Length,好的,所以我需要根据字符串的长度是否为6个字符,用一定数量的0填充字符串值。但结果值不得超过6个字符 例如: 123应更改为000123 4567应更改为004567 123456根本不应该改变 不幸的是,我现在设置的东西不起作用。它只将输入的字符串值更改为D6。注意:在这些情况下,NMFCItemNum的值可以为空,无需执行任何操作 我已经计算出D在一个值之前给出了适当数量的0,但是设置是错误的 string NMFCItemNum = GetValue(curCate

好的,所以我需要根据字符串的长度是否为6个字符,用一定数量的0填充字符串值。但结果值不得超过6个字符

例如:

123应更改为000123 4567应更改为004567 123456根本不应该改变 不幸的是,我现在设置的东西不起作用。它只将输入的字符串值更改为D6。注意:在这些情况下,NMFCItemNum的值可以为空,无需执行任何操作

我已经计算出D在一个值之前给出了适当数量的0,但是设置是错误的

            string NMFCItemNum = GetValue(curCategory, (int)CategoryCols.NMFCItemNum);
            if (NMFCItemNum != "")
            {
                //Save the value of NMFCItemNum as is
                if (NMFCItemNum.Length == 6)
                {
                    cmd.Parameters.Add(new SqlParameter("@NMFCItemNumber", GetValue(curCategory, (int)CategoryCols.NMFCItemNum)));
                }
                else
                {
                    if (NMFCItemNum.Length < 6)
                    {
                        //prefix with 0's then save to database
                        cmd.Parameters.Add(new SqlParameter("@NMFCItemNumber", String.Format("D6",NMFCItemNum)));
                    }
                }
            }
将D6作为简单字符串。格式化字符串将D6解释为D6。您需要使用占位符:

表示获取第一个参数,将其填充到{0}位置,并使用D6格式。

您可以使用string.PadLeftTotal Width,character方法

NMFCItemNum.PadLeft6,“0”

像这样的

string str = "1234"
Console.WriteLine(str.PadLeft(8, '0'));  
//00001234

@Prix,如果问题是关于格式化字符串的错误,那么这不会是重复的。如果你还想使用String,格式化,考虑重新措词。这就是我要找的!谢谢
String.Format("{0:D6}", NMFCItemNum);
string str = "1234"
Console.WriteLine(str.PadLeft(8, '0'));  
//00001234