货币符号未显示在控制台窗口中

时间:2014-12-17 12:26:49

标签: c# .net

我正在尝试在控制台窗口中使用货币符号打印金额:

string cultureCode = "hi-IN";//"it-IT";
decimal amount = 123.54M;
CultureInfo cultureInfo = new CultureInfo(cultureCode);    
string strAmout=String.Format(cultureInfo, "{0:C}",amount);

Console.OutputEncoding = System.Text.Encoding.UTF8;

Console.WriteLine(strAmout);

金额在观察窗口中正确显示,但不在控制台窗口中显示。

2 个答案:

答案 0 :(得分:3)

这是设计的。

使用某种特殊字体(Lucida Console,Consolas等)显示控制台窗口。
该字体不必具有您的货币符号,因此该符号可能显示不正确。

<强>更新

根据this linkLucida Console字体不支持卢比符号。

根据this linkConsolas字体支持。

答案 1 :(得分:2)

您输出的编码可能不包括这些货币符号。

尝试将控制台的输出编码设置为支持货币符号的输出编码:

Console.OutputEncoding = System.Text.Encoding.UTF8