2011-09-23 374 views
1

如何格式化一串数字“12345678”至“1234-5678”。格式“12345678”为“1234-5678”

string str = "12345678"; 

//I want to format it like below 
res = "1234-5678"; 

感谢

+7

有没有一种模式呢?即,你是否希望在前四位之后和后四位之前始终显示连字符?它总是8个字符?请详细说明一下。 –

回答

2

您可以使用string.Insert

string res = "12345678".Insert(4, "-"); 

的参数是要插入索引和插入的字符串。

1

我怎么能理解你希望的格式:字符串中的前四个符号后插入一个连字符。如果是这样,那很简单:

res = str.Length> 4? string.Concat(str.Substring(0,4),“ - ”,str.Substring(4)):str;

如果您的格式是其他格式,请详细描述它。

0

您还可以使用.Substring像这样:

string str1 = str.Substring(0,4); 
string str2 = str.Substring(4,4); 
string res = str1 + "-" + str2; 
2

如果你需要格式化数字,你可以使用String.Format()方法:

int test = 12345678; 
string res = String.Format("{0:####-####}", test); // res == "1234-5678" 
+0

所有的建议是正确的。但我更喜欢String.Format()。谢谢大家。 – mrd

0

我使用Visual Basic代码 这是不难以在C上转换#

Dim str As String = "12345678" 
    Dim num As Long = CLng(str) 
    Dim strOut As String = Format(num, "####-####")