2011-11-17 96 views
3

我知道我可以使用String.Format()方法格式化字符串。這樣可以格式化嗎?按字段將字符串格式化爲3位數組

實施例:

字符串:1568
格式化:1.568

字符串:168794521
格式化:168.794.521

字符串:987
格式化:987

對不起,我不能讓自己更清楚。

+0

你想要。而不是,格式化字符串? – KreepN

+0

它值得看看http://www.csharp-examples.net/string-format-double/ –

回答

5
string someNumericValue = "168794521"; 
int number = int.Parse(someNumericValue); // error checking might be appropriate 
value.ToString("0,0", CultureInfo.CreateSpecificCulture("el-GR")); 

這將使點在千個符。

如果你想這樣做,你的文化可能已經做到了。

+0

嘿@McKay,#ThankYou像一個魅力和簡單的工作! – ShadowG

+0

+1用於回答問題到發球臺。 – KreepN

-1

是的,你可以做到這一點。 SteveX has written a great blog post on string formatting。你也可以看看this blog postMSDN documentation

您可能想了解有關不同類型標準格式字符串的更多信息,請參閱「更多資源」一節中的文檔底部。

這裏是初步認識部分來自SteveX博客上格式化數字:

  • 貨幣{0:c}
  • 小數(整數){0:d}
  • 科學{0:e}
  • 定點{0:f}
  • 一般{0:g}
  • 號用逗號千{0:n}
9

可以格式化這種方式,但不是一個字符串。例如,如果你有一個整數值,你可以使用:

int value = 168794521; 
string formatted = value.ToString("N0"); 

有了適當的文化,這將格式化如圖所示。

如果您使用的是字符串,則需要將其轉換。你也可以明確提供一種文化來保證「。」作爲千位分隔符:

int value = Int32.Parse("168794521"); 
string formatted = value.ToString("N0", new CultureInfo("de-DE")); 
+1

我相信OP是希望把*小數點*放在每第千個地方。 –

+4

@JamesJohnson是的,並且使用像'de-DE'這樣的文化將會這樣做 - 一些文化使用''。爲千位分隔符,','爲小數點。 –

+1

@JamesJohnson這就是爲什麼我的第二個例子明確指定一個文化,將這樣做...... –

相關問題