2 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您只擔(dān)心貨幣符號,您可以輕松地將其設(shè)置為您喜歡的任何內(nèi)容:
var format = (NumberFormatInfo)CultureInfo.CreateSpecificCulture("es-MX").NumberFormat.Clone();
format.CurrencySymbol = "US$";
decimal amount = 12.34m;
amount.ToString("C", format);
// OUTPUT:
// US$12.34
但通常還有更多的格式化貨幣值。如您所見,例如,由于特定的文化差異(如小數(shù)點(diǎn)、貨幣符號位置、間距等),該值在德國的格式會非常不同:
amount.ToString("C", CultureInfo.CreateSpecificCulture("de-DE"));
// OUTPUT:
// 12,34 €

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
我不確定我是否理解您的問題,但例如,如果您希望將 adouble表示為不同國家/地區(qū)的貨幣,那么您需要為其提供不同的貨幣CultureInfo。
double foo = 3;
string fooGerman = foo.ToString("C", CultureInfo.GetCultureInfo("de-DE"));
string fooEnglish = foo.ToString("C", CultureInfo.GetCultureInfo("en-GB"));
Console.WriteLine(fooGerman);
Console.WriteLine(fooEnglish);
OUTPUT
3,00 €
£3.00
如果這還不夠,您可以為給定CultureInfo的 in設(shè)置符號CultureInfo.NumberFormat.CurrencySymbol,您可以為 the 創(chuàng)建自己IFormatProvider的ToString()或創(chuàng)建自己的CultureInfo.
- 2 回答
- 0 關(guān)注
- 158 瀏覽
添加回答
舉報(bào)