1.2. C#中关于字符串的处理

1.2.1. C#中类似于spritf的函数

C#中,类似于C中常用的spritf函数,是String.Format函数。

最简单的用法举例如下:

    string spritfTestStr = String.Format("Test sprintf in C#, number={0:D}, string=\"{1:s}\", float={2:0.000}", 100, "crifan", Math.PI);
    //spritfTestStr = Test sprintf in C#, number=100, string="crifan", float=3.142
        

关于Format函数的更多的示例,可以参考微软官方文档:String.Format Method (String, Object)

关于其他更多不同类型的参数,比如日期,数值,枚举等,如何指定对应的格式,可以参考:

1.2.2. 字符串的中间对齐左右填充的效果

代码:


//input: [4] Valid: B0009IQZFM
//output: ============================ [4] Valid: B0009IQZFM =============================
public string formatString(string strToFormat, char cPaddingChar = '*', int iTotalWidth = 80)
{
    //auto added space
    strToFormat = " " + strToFormat + " "; //" [4] Valid: B0009IQZFM "
 
    //1. padding left
    int iPaddingLen = (iTotalWidth - strToFormat.Length)/2;
    int iLefTotalLen = iPaddingLen + strToFormat.Length;
    string strLefPadded = strToFormat.PadLeft(iLefTotalLen, cPaddingChar); //"============================ [4] Valid: B0009IQZFM "
    //2. padding right
    string strFormatted = strLefPadded.PadRight(iTotalWidth, cPaddingChar); //"============================ [4] Valid: B0009IQZFM ============================="
     
    return strFormatted;
}

        

详见:【已解决】C#中实现字符串的中间对齐左右填充的效果