2016-11-15 5 views
1

Мне нужно, чтобы мои итоги были в формате валюты. мой код не позволяет мне выводить длинное жало в окно сообщения. ниже - это то, что я пытаюсь вывести в окно сообщения. как я могу отформатировать мои итоги, чтобы выступить как валюта.Форматирование окна сообщений

 MessageBox.Show(cmboCrust.GetItemText(cmboCrust.SelectedItem) + " - " + cmboSize.GetItemText(cmboSize.SelectedItem) 
        + "\nSauce: " + cmboSauce.GetItemText(cmboSauce.SelectedItem) + 
        "\nToppings ($1.50 each): " + topings + 
        "\n\nPizza total: {0:C}" + pizzaTotal + 
        "\n\nDrink selection: " + 
        "\n\t" + sodaTotal + " soda(s)" + 
        "\n\t{0:C}" + waterTotal + " water(s)" + 
        "\nDrink Total: {0:C}" + drinksTotal + 
        "\n\nSpecialty Items: " + specialtyMessage + 
        "\nAmount Due: {0:C}" + billTotal + 
        "\n\n Deliver to: " + txtBxName.Text + ", " + txtBxAddress.Text 
        , "D & G Pizza Express Order"); 


     string output = string.Format(cmboCrust.GetItemText(cmboCrust.SelectedItem), " - ", cmboSize.GetItemText(cmboSize.SelectedItem), 
        "\nSauce: ", cmboSauce.GetItemText(cmboSauce.SelectedItem), 
        "\nToppings ($1.50 each): ", topings, 
        "\n\nPizza total: {0:C}", pizzaTotal, 
        "\n\nDrink selection: ", 
        "\n\t", sodaTotal, " soda(s)", 
        "\n\t{0:C}", waterTotal, " water(s)", 
        "\nDrink Total: {0:C}", drinksTotal, 
        "\n\nSpecialty Items: ", specialtyMessage, 
        "\nAmount Due: {0:C}", billTotal, 
        "\n\n Deliver to: ", txtBxName.Text, ", ", txtBxAddress.Text); 
+1

Как насчет использования подхода с String.Format? https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx – petryuno1

+0

, когда я попробовал, чтобы у меня только 1 строка –

+0

Что вы пробовали? – Kinetic

ответ

0

В следующем примере отображается символ валюты с двумя десятичными знаками.

billTotal.ToString("C"); 
+0

Вот что мне нужно Спасибо !!!! –

1

хмм вы можете сделать это таким образом ..

  MessageBox.Show(
      String.Format(
       "\r\nSauce: {0} \r\nToppings ($1.50 each): {1} \r\nPizza total: {2:C} \r\nDrinkSection", 1, 2, 3)); 

вы получите идею .. просто заменить 1,2,3 с переменными

EDIT. String.Format добавляет читаемость.

0
billTotal.ToString("C", CultureInfo.CurrentCulture); 
billTotal.ToString("C", new CultureInfo("en-US"); 

можно форматировать в соответствии с текущей культуры или в требуемой культуры, используя перегруженный метод ToString().

Смежные вопросы