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