C# 字符串格式分隔符 12-3456789-0
C# string format delimiter 12-3456789-0
我有下面的字符串。
1234567890
我想得到那个字符串。
12-3456789-0
我尝试使用以下代码。
string.Format("{0:0-#######-#}", "1234567890");
但是结果不是我想要的
1234567890
您应该使用 int 值而不是字符串,例如:
using System;
public class Program
{
public static void Main()
{
string s = "1234567890";
int i = int.Parse(s);
Console.WriteLine("Hello World");
string test = string.Format("{0:0-#######-#}", i);
Console.WriteLine(test);
}
}
输出:
Hello World
12-3456789-0
您必须使用数字类型,因为您使用 Custom Numeric Format String
您的代码不起作用的原因是您指定了字符串的数字格式。
看:
string.Format("{0:0-#######-#}", "1234567890"); // "1234567890" is a string
试试这个:
string.Format("{0:0-#######-#}", 1234567890); // 1234567890 is a number
顺便说一句,要获得您真正想要的输出,您的格式字符串需要是 {0:0#-#######-#}
我有下面的字符串。
1234567890
我想得到那个字符串。
12-3456789-0
我尝试使用以下代码。
string.Format("{0:0-#######-#}", "1234567890");
但是结果不是我想要的
1234567890
您应该使用 int 值而不是字符串,例如:
using System;
public class Program
{
public static void Main()
{
string s = "1234567890";
int i = int.Parse(s);
Console.WriteLine("Hello World");
string test = string.Format("{0:0-#######-#}", i);
Console.WriteLine(test);
}
}
输出:
Hello World
12-3456789-0
您必须使用数字类型,因为您使用 Custom Numeric Format String
您的代码不起作用的原因是您指定了字符串的数字格式。
看:
string.Format("{0:0-#######-#}", "1234567890"); // "1234567890" is a string
试试这个:
string.Format("{0:0-#######-#}", 1234567890); // 1234567890 is a number
顺便说一句,要获得您真正想要的输出,您的格式字符串需要是 {0:0#-#######-#}