2009-04-07 82 views
2

我想知道.Net的String.Format()是否可以將一個整數拆分爲兩個子字符串。例如,我有一個數字3234,我想把它格式化爲32X34。我的整數將始終有4或6位數字。這可能使用String.Format()?如果是這樣,什麼格式的字符串可以工String.Format()拆分整數值

P.S. 我知道還有其他的方法來做到這一點,但我特別想知道如果String.Format()可以處理這個。

+0

@James - 你想如何分割一個6位數的數字?你沒有明確指定。 – JeffH 2009-04-07 22:38:33

回答

11

調用String.Format

String.Format("{0:00x00}", 2398) // = "23x93" 
+0

+1讓我給那個鏡頭。 – James 2009-04-07 21:52:30

-1

不,它不能。

實際上,你的整數似乎並不是整數。也許他們應該存儲在一個類中,並使用它自己的ToString()方法來格式化它們。

+0

Gah,至少在發佈之前嘗試一次。 – Samuel 2009-04-07 21:52:31

+0

嘗試什麼?我已經完成了ToString覆蓋,它工作。我從來沒有做過如下所示的格式字符串,也沒有看過。 – 2009-04-07 21:56:57

4

詹姆斯時,您可以指定自己的格式,我不知道你已經完全確定的問題。

如果您的目標是將字符串的中心中的'x'放入,Samuel's answer將不適用於6位數字。 String.Format("{0:00x00}", 239851)的回報,而不是 「239x851」

而是 「2398x51」,嘗試:

String.Format(val<10000 ? "{0:00x00}" : "{0:000x000}", val) 

在這兩種情況下,該方法被調用Composite Formatting。 (假設數字在1000到999999之間),即使這樣,包含1000和1009之間的數字也會在'x'後面報告一個不必要的前導'0'的數字,所以也許這種方法是對於1010和999999之間的數值有效。)