Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在整数值旁边有货币单位的情况下,如何从Gridview计算整型列的和?_C#_Asp.net - Fatal编程技术网

C# 在整数值旁边有货币单位的情况下,如何从Gridview计算整型列的和?

C# 在整数值旁边有货币单位的情况下,如何从Gridview计算整型列的和?,c#,asp.net,C#,Asp.net,我有一个名为Total_Price(从数据库表加载)的gridview整数列。在gridview整型列的每个单元格中,除了整数值之外,我还添加了马来西亚货币单位(RM)。例如:250 RM 这是我的aspx代码: asp:BoundField DataField="Total_Price" HeaderText="Total_Price" DataFormatString="{0} RM" /> 这是我的C代码: 现在,当我尝试在单击事件上执行存储过程时 它在下一行显示错误 int To

我有一个名为Total_Price(从数据库表加载)的gridview整数列。在gridview整型列的每个单元格中,除了整数值之外,我还添加了马来西亚货币单位(RM)。例如:250 RM

这是我的aspx代码:

asp:BoundField DataField="Total_Price" HeaderText="Total_Price" DataFormatString="{0} RM" />
这是我的C代码:

现在,当我尝试在单击事件上执行存储过程时

它在下一行显示错误

int TotalPrice = Convert.ToInt32(GridView1.Rows[i].Cells[5].Text);
上面一行提到的错误是输入字符串的格式不正确

但是,当我从如下所示的aspx文件中删除DataFormatString=“{0}RM”时:

<asp:BoundField DataField="Total_Price" HeaderText="Total_Price" />

然后在单击事件时成功执行存储过程,而不显示任何错误

但是,我希望将“RM”货币单位保留在integer gridview列的整数值旁边,并在click事件上成功执行存储过程。 我如何完成这项具体任务?
我可以获取一些示例代码来解决此问题吗?

最简单的解决方案是在将文本转换为数字之前从文本中删除货币部分

var priceString = GridView1.Rows[i].Cells[5].Text.TrimEnd(new Char[] { ' ', 'R', 'M' } );
int TotalPrice = Convert.ToInt32(priceString);


只要DataFormatString不变,这将很有效。

您以前是否考虑过接受答案?你已经成为会员3,5年了。我觉得这几乎是不可能的,因为你这么多年来都没有读过或至少注意到它当心
var priceString = GridView1.Rows[i].Cells[5].Text.TrimEnd(new Char[] { ' ', 'R', 'M' } );
int TotalPrice = Convert.ToInt32(priceString);
var priceString = GridView1.Rows[i].Cells[5].Text.Replace(" RM", "" );
int TotalPrice = Convert.ToInt32(priceString);