2014-02-15 34 views
0

您好想在C#中將1123 $轉換爲1.123,00(一千零二位)。C#如何將一個double轉換爲十進制和千位的字符串

我該怎麼做?

感謝

+0

這些$值,即你想打印美元,但與大陸的歐洲分離器。如果我正在做這樣的混合,我會看看構造一個NumberFormatInfo。有關詳細信息,請參閱此處,這是關於消極處理的,但是這個概念是成立的。 http://stackoverflow.com/questions/11014878/how-to-use-numberformatinfo-to-remove-parenthesis-for-negative-values –

回答

1

你可能想用這個

YourDecimal.ToString("N",new CultureInfo("nl-NL")) // this will result in 1.000,00 for example 
YourDecimal.ToString("N",new CultureInfo("en-US")) // this will result in 1,000.00 for example 

或者你可以,如果你使用ASP.NET設置文化Web.Config中。

如果符合點和逗號分隔符的話,您也可以選擇其他文化。這些只是例子。

1

嘗試:

var text = money.ToString("N0", 
    System.Globalization.CultureInfo.GetCultureInfo("de")); 
+0

他們爲什麼要硬編碼該文化? –

+0

因爲他們使用。對於分隔符 – Kostadin

+0

有一點,蓋伊做了$,但是,嗯,懷疑這可能最終會比最初看起來複雜一點。 –

1
Double x=1123.0;  
x.ToString("N",new CultureInfo("nl-NL")) 
相關問題