C# 在gridview中,Datakey字段包含双精度值,但只返回整数部分,如何获得完整的双精度值

C# 在gridview中,Datakey字段包含双精度值,但只返回整数部分,如何获得完整的双精度值,c#,asp.net,gridview,datakey,C#,Asp.net,Gridview,Datakey,我有一个Gridview,其中有两列我想隐藏,但需要访问它们的值,所以我将它们保存在dataKey中 在这两个datakey字段中,有一个是application fees..,其中包含双精度格式的值, 现在我想计算这些值…所以我使用下面的方法从datakey应用程序费中获取这些值 double ApplicationFees = double.Parse(GridApplicationsList.DataKeys[row.RowIndex].Values[1].ToString());

我有一个Gridview,其中有两列我想隐藏,但需要访问它们的值,所以我将它们保存在dataKey中

在这两个datakey字段中,有一个是application fees..,其中包含双精度格式的值, 现在我想计算这些值…所以我使用下面的方法从datakey应用程序费中获取这些值

   double ApplicationFees =  double.Parse(GridApplicationsList.DataKeys[row.RowIndex].Values[1].ToString());
现在对于eg,如果我的申请费在gridview中的值是220.75,但上面的代码是220.0,
如何从datakey中获得完整的双值

您可能通过说出值[1]引用了DataKeyNames集合中的错误字段

由于您在DataKeyNames属性中存储了两列,请始终尝试使用其名称而不是下面所示的索引来引用它们。如果将来要向DataKeyNames属性添加更多字段,则无需更改代码来更新键的索引位置

double ApplicationFees =  double.Parse(GridApplicationsList.DataKeys[row.RowIndex].Values["APP_FEES"].ToString());

为什么不在源代码级别计算这个值呢?与其在网格中计算,不如在数据库级别计算?实际上,我想在网格中为每个记录显示它们,并在网格中显示我的复选框。因此,无论哪个复选框为真,我都需要读取该值并添加,然后在Message中显示最终金额如何配置列,如visible=False?在运行时,您仍然可以访问这些值吗?您还可以使用诸如DataFormatString={0:c}之类的表达式对它们进行格式化,这样做应该可以,在我的代码中尝试过,结果成功了。那么您确定数据键包含eg 220.75的数据吗?尝试在方法运行前后放置断点