gridview的数字列格式化之后如何重新转换为数值
protected decimal GetTotalPrice()
{
decimal price = 0;
foreach (GridViewRow row in GridView1.Rows)
{
price +=decimal.Parse(row.Cells[3].Text}
return price;
}
这段代码用于遍历一个gridview 的" 小计"列,此列已格式化为"{0:c2}"的货币格式, 现在我要计算它的总价。但是
row.cells[3].text 的结果是格式化后的字符串,无法转化为数值decimal型,,如何才能将格式化过的字符转换为数值?
------解决方案--------------------在绑定事件里面进行相加,这个时候是没格式化的
decimal price = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
price += decimal.Parse(DataBinder.Eval(e.Row.DataItem, "字段名称").ToString());
}
}
------解决方案--------------------C# code
Decimal.Parse(row.Cells[3].Text, NumberStyles.Currency)