使用CultureInfo时如何在数字前面显示欧元符号?

时间:2017-12-02 20:33:07

标签: c# currency cultureinfo

所以我想尝试在C#中显示货币并找到CultureInfo,唯一的事情是,没有办法在数字的前面显示欧元符号,而不是从我看到和阅读的内容。

基本上这个:

float f = 100.50;
MoneyAmount.Text = f.ToString("C", new CultureInfo("en-GB"));

将显示:£100.50

这样:

float f = 100.50;
MoneyAmount.Text = f.ToString("C", new CultureInfo("en-US"));

将显示:$ 100.50

但是这个:

float f = 100.50;
MoneyAmount.Text = f.ToString("C", new CultureInfo("fr-FR"));

将显示:100.50€

fr-FR有没有办法像这样显示货币:€100.50?

4 个答案:

答案 0 :(得分:2)

您可以自定义cultureinfo;

ssh -M -S /home/ethan/.ssh/controlmasters/ethan@<ipaddr>:22  server.example.org

答案 1 :(得分:1)

您可以设置NumberFormat.CurrencyPositivePattern个实例的NumberFormat.CurrencyPositivePatternCultureInfo

float f = 100.50f;
var culture = new CultureInfo("fr-FR");
culture.NumberFormat.CurrencyPositivePattern = 0;
culture.NumberFormat.CurrencyNegativePattern = 2;
culture.NumberFormat.CurrencyDecimalSeparator = CultureInfo.InvariantCulture.NumberFormat.CurrencyDecimalSeparator;
Console.WriteLine(f.ToString("C", culture));

打印

    €100.50

答案 2 :(得分:0)

任何评论过#34的人都会将en-FR代替fr-FR&#34;所以它看起来像这样:

MoneyAmount.Text = f.ToString("C", new CultureInfo("en-FR"));

谢谢阿德里安,这就是诀窍。我并不认为en-FR存在,因为我发现的唯一事情是fr-FR

答案 3 :(得分:0)

您可以使用CurrencyPositivePattern CultureInfo中NumberFormatInfo类的属性。使用值2时,它将在数字之前更改货币符号的位置。