在DATAGRID中设置一个LABEL,取数据库中的MONEY字段的值,为显示好看,将其格式输出为{0:C},即带人民币符号的字符串.
现在的问题是要取这个LABEL的值,并转换回DECIMAL时,取出的TEXT值多了一个符号,然后取出后面的数值且转换成DECIMAL类型呢?
现在的问题是要取这个LABEL的值,并转换回DECIMAL时,取出的TEXT值多了一个符号,然后取出后面的数值且转换成DECIMAL类型呢?
解决方案 »
- 怎样才能使.net生成Excel的单元格宽度占多列?
- 表单提交
- ckfinder是否支持上传附件功能?
- 上周对我的网站进行了一些优化,包括gzip压缩和Client缓存等,请大家帮我看看性能如何
- asp.net数据验证控件的ValidationGroup属性怎么用
- 用Jquery怎样找到div下面的(不是子节点)input?
- 菜鸟问得问题嘎嘎~~答者有份哦
- Visual Studio.net 已检测到指定的WEB服务器运行的不是ASP。NET1.1版。你将无法运行ASP。NET应用程序或服务
- 简单的问题,求个解决办法。
- 我的机子装不了spl server 2000 不知道为什么???
- 关于多文件上传的问题,求救!!
- 自定义控件的属性问题
}) %>
foreach (GridViewRow row in GridView1.Rows)
{
Label lbl= row.FindControl("label2") as Label;
string temp = lbl.Text.Substring(1);
this.TextBox1.Text += decimal.Parse(temp) + "\r\n";
}
但是由于使用了{0:C}来显示数据,已经将MONEY字段的数值的精确度降低了,所以通过从显示的数据行中获取数值并转换为decimal类型的值已经不准确了。建议不要使用如上方式处理,能够保持精确度的方法是
1、从数据库中重新抓取数据;
2、在进行绑定的时候将数据保存下来,获取数据时直接从保存的数据中获得。