Проблема с отображением евро с использованием метода .ToString() C#

Я все еще изучаю основы C #, и я полностью сбит с толку этой проблемой. Я делаю программу на С# с использованием Windows Forms для конвертации долларов США в евро и наоборот. Я округляю оба результата до второго десятичного знака, используя метод Math.Round. Проблема, с которой я сталкиваюсь, заключается в том, что когда я преобразую вывод в строку с помощью метода «.ToString ()» с помощью функции «\ u20AC», он отображает только символ ЕВРО, а не сумму. Но когда я вынимаю функцию «\ u20AC», она отображает сумму, а не символ евро. Теперь действительно интересная часть заключается в том, что когда я использую ту же самую строку кода, когда я конвертирую евро в доллары США, вывод выходит отлично со знаком доллара и суммой. Я делаю что-то не так здесь? Вот мой код:

    private void btnEXC1_Click(object sender, EventArgs e)
    {
        double USD = Convert.ToDouble(tbUSD.Text);
        double EURO;

        EURO = USD * 1.18113;
        lblUSDTOEURO.Text = Math.Round(EURO,2).ToString("\u20AC");


    }

    private void btnEXC2_Click(object sender, EventArgs e)
    {
        double EURO = Convert.ToDouble(tbEURO.Text);
        double USD;

        USD = EURO * 0.846648;
        lblEUROTOUSD.Text = Math.Round(USD, 2).ToString("c");
    }

person SprJD7903    schedule 18.03.2015    source источник
comment
Прочитайте документацию о том, как форматировать валюты для разных языков: msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx   -  person link64    schedule 18.03.2015
comment
Используйте эту строку формата для евро: "\u20AC0.00". В этой маске часть 0.00 представляет формат отображения числа.   -  person Dmitry    schedule 18.03.2015
comment
link64 Я не уверен, что вы прочитали заголовок моего вопроса. У меня возникла проблема с правильным отображением вывода, когда код в порядке. Спасибо, Дмитрий, это сработало отлично, я бы хотел, чтобы мой профессор сказал сделать это, кроме €. Вы случайно не знаете, почему его нужно было добавить?   -  person SprJD7903    schedule 18.03.2015
comment
Смотрите мой ответ ниже. Вы можете пометить его как принятое, если это полезно.   -  person Dmitry    schedule 18.03.2015


Ответы (1)


Используйте следующую строку формата для евро: "\u20AC0.00".
В этой маске часть 0.00 представляет формат отображения числа.

В вашей маске нет формата отображения числа, поэтому оно отображается как единственный символ.
Строка формата "c" — это предопределенный формат, предназначенный для значений валюты: MSDN.

person Dmitry    schedule 18.03.2015