Как мне вставить значение в строку, если я хочу изменить значение этой строки позже, но я хочу сохранить формат? - PullRequest
0 голосов
/ 23 мая 2019

Я хочу отобразить общую стоимость заказанных блюд в текстовом поле.Теперь он выглядит как «1800», но я бы хотел, чтобы он выглядел как «1.800».Проблема в том, что если я просто попытаюсь вставить «.»в строковое значение, то это не сработает из-за того, что общая цена может измениться, если пользователь закажет другое блюдо.Как мне сохранить этот формат, если я знаю, что общая цена может измениться?

private void fillTotalCostTextBox()
        {
            textBox_totalPrice.Text = "0";
            foreach (DataGridViewRow row in dataGridView_orders.Rows)
            {
                textBox_totalPrice.Text =
              (Convert.ToInt32(textBox_totalPrice.Text) +
             Convert.ToInt32(row.Cells["price"].Value)).ToString();
            }
        }

Ответы [ 2 ]

2 голосов
/ 23 мая 2019

Вы должны использовать String.Format Method , как вы можете видеть на примере ниже:

string s = "1800";
string s = string.Format("{0:#,0.#}", float.Parse(s));
0 голосов
/ 23 мая 2019

Это будет что-то вроде этого.

private void fillTotalCostTextBox()
{
  decimal totalPrice = 0;
  foreach (DataGridViewRow row in dataGridView_orders.Rows)
  {
    totalPrice += Convert.ToDecimal(row.Cells["price"].Value)).ToString();
  }
  textBox_totalPrice.Text = string.format("{0:#.00}", totalPrice);
}

Если вы хотите отобразить валютные значения, вы можете использовать C (string.format ("C2", totalPrice)).Просто убедитесь, что в значении ячейки отсутствуют значения или используйте TryCast.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...