如何格式化一串数字“12345678”至“1234-5678”。格式“12345678”为“1234-5678”
string str = "12345678";
//I want to format it like below
res = "1234-5678";
感谢
如何格式化一串数字“12345678”至“1234-5678”。格式“12345678”为“1234-5678”
string str = "12345678";
//I want to format it like below
res = "1234-5678";
感谢
我怎么能理解你希望的格式:字符串中的前四个符号后插入一个连字符。如果是这样,那很简单:
res = str.Length> 4? string.Concat(str.Substring(0,4),“ - ”,str.Substring(4)):str;
如果您的格式是其他格式,请详细描述它。
您还可以使用.Substring像这样:
string str1 = str.Substring(0,4);
string str2 = str.Substring(4,4);
string res = str1 + "-" + str2;
如果你需要格式化数字,你可以使用String.Format()方法:
int test = 12345678;
string res = String.Format("{0:####-####}", test); // res == "1234-5678"
所有的建议是正确的。但我更喜欢String.Format()。谢谢大家。 – mrd
我使用Visual Basic代码 这是不难以在C上转换#
Dim str As String = "12345678"
Dim num As Long = CLng(str)
Dim strOut As String = Format(num, "####-####")
有没有一种模式呢?即,你是否希望在前四位之后和后四位之前始终显示连字符?它总是8个字符?请详细说明一下。 –