如果以后要更改该字符串的值,但又想保留格式,该如何在字符串中插入值?

时间:2019-05-23 16:40:37

标签: c# string winforms textbox

我想在文本框中显示订购餐的总价。现在,它看起来像“ 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 个答案:

答案 0 :(得分:2)

您应该使用String.Format Method,如下面的示例所示:

string s = "1800";
string s = string.Format("{0:#,0.#}", float.Parse(s));

答案 1 :(得分:0)

就是这样。

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。