2011-09-23 45 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, "####-####")