【问题标题】:Formatting a string with string.Format("{0:00}"使用 string.Format("{0:00}" 格式化字符串
【发布时间】:2011-06-15 03:03:57
【问题描述】:

我刚刚接手了一些代码,我看到它被大量使用。它似乎采用整数并创建一个看起来像“01”、“02”等的字符串。

我不确定的是这里使用的约定。为什么格式是{0:00} 而不是{00}

string.Format("{0:00}", int.Parse(testVal) + 1);

【问题讨论】:

    标签: c# .net string .net-4.0 string-formatting


    【解决方案1】:

    第一个0是占位符,表示第一个参数。 00 是一个实际的格式。

    例如可能是这样的:

    var result = string.Format("{0:00} - {1:00}", 5, 6);
    

    result 将是 05 - 06。所以第一个0表示取第一个参数5,而1表示取第6个参数。

    格式为{index[,length][:formatString]}。看看String.Format Method

    【讨论】:

    • 非常感谢您的帮助
    【解决方案2】:

    下一行中的第一个0 是您参数的索引

    string.Format("{0:00}", int.Parse(testVal) + 1); 
    

    (int.Parse(testVal) + 1).ToString ("00") 会产生同样的结果。

    string.Format 支持这样的多个替换:

    string.Format("{0:00} + 1 = {1:00}", int.Parse(testVal), int.Parse(testVal) + 1); 
    

    【讨论】:

      【解决方案3】:

      格式字符串{0:00} 中的前导0 表示此格式化程序规范的索引String.Format 的 MSDN 文档对索引有这样的说法...

      索引:要格式化的对象在参数列表中从零开始的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多