【问题标题】:Convert integer number to three digit将整数转换为三位数
【发布时间】:2012-06-05 15:35:00
【问题描述】:

我有一个整数变量。如果它的 1-9 仅显示为“1”或“9”,我希望将变量转换为 3 位数字,即。 “001”或“009”等有什么想法吗? 我正在使用 C#、ASP.Net

【问题讨论】:

  • 你想用什么转换它?
  • 你应该使用'String'来存储'001'之类的东西

标签: c# asp.net integer digits


【解决方案1】:

使用

int X = 9;

string PaddedResult = X.ToString().PadLeft (3, '0'); // results in 009

请参阅 MSDN 参考资料 herehere

【讨论】:

  • 我更喜欢格式字符串的可读性,但如果你经常这样做,我怀疑这会更快,对吧?
  • @LexyStardust 它可能更快,但我喜欢它,因为字符串的长度可以是一个变量(对 Pad 的调用中的第一个参数...),这反过来又使它相当容易配置。 ..
  • 对不起,我的意思是这个解决方案会更快 - 不会是 Format() 下面对 FormatProviders 的所有时髦查找。
【解决方案2】:

怎么样

var result = String.Format("{0:000}", X);
var result2 = X.ToString("000");

【讨论】:

    【解决方案3】:
    int i = 5;
    string tVal=i.ToString("000");
    

    【讨论】:

      【解决方案4】:

      发件人:https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings#DFormatString

      “D”(或十进制)格式说明符将数字转换为十进制数字字符串 (0-9),如果数字为负数,则以减号为前缀。

      精度说明符指示结果字符串中所需的最小位数。如果需要,数字会在其左侧填充零,以生成精度说明符给出的位数。

      喜欢:

      int value; 
      
      value = 12345;
      Console.WriteLine(value.ToString("D"));
      // Displays 12345
      Console.WriteLine(value.ToString("D8"));
      // Displays 00012345
      
      value = -12345;
      Console.WriteLine(value.ToString("D"));
      // Displays -12345
      Console.WriteLine(value.ToString("D8"));
      // Displays -00012345
      

      【讨论】:

        【解决方案5】:
        int i = 5;
        string retVal = i.ToString().PadLeft(3, '0');
        

        【讨论】:

          【解决方案6】:

          您也可以使用此代码

          int k = 5;
          string name =  $"name-{k++:D3}.ext";
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-06-02
            • 2012-04-14
            • 1970-01-01
            相关资源
            最近更新 更多