首页 新闻 会员 周边 捐助

asp.net中gridview某列保留两位小数

0
悬赏园豆:10 [已解决问题] 解决于 2016-12-01 11:42

列代码如下:<asp:BoundField HeaderText="金额" DataField="SumMoney"
ItemStyle-HorizontalAlign="Right" DataFormatString="{0:f2}" HtmlEncode= "False ">
<ItemStyle HorizontalAlign="Right"></ItemStyle>
</asp:BoundField>

问问各位大神是哪里错了,没有反应

alroy233的主页 alroy233 | 初学一级 | 园豆:53
提问于:2016-11-29 12:32
< >
分享
最佳答案
0

{0:F2}

 

如果不行的, 就不要折腾了, 用<asp:TemplateField> 里面用<%# Eval("SumMoney") %>来绑定, 这里面可以用Convert.to...来实现

收获园豆:10
风浪 | 老鸟四级 |园豆:2996 | 2016-11-29 14:19

<asp:TemplateField HeaderText="金额" >
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Convert.ToDecimal(Eval("SumMoney")).ToString("f2")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

是这种么,但是我后台有对金额的累加,用这种方法就要提示字符串格式错误问题

后台

if (materialtb != null && materialtb.Rows.Count > 0)
{
foreach (GridViewRow gvr in grd_moreMaterial.Rows)
{
materialSum1 += Convert.ToDecimal(gvr.Cells[7].Text.Trim());
}
}

alroy233 | 园豆:53 (初学一级) | 2016-11-29 15:35

@涅白: 你用了label, 还在创建一个

Label lblSum=gvr.Cells[7].FindControl("Label1"); 

materialSum1 += Convert.ToDecimal(lblSum.Text.Trim());

风浪 | 园豆:2996 (老鸟四级) | 2016-11-29 17:00

@风浪: 谢谢大神,成功了

alroy233 | 园豆:53 (初学一级) | 2016-12-01 11:43
其他回答(3)
0

DataFormatString="{0:N2}" 试试

筱浬 | 园豆:601 (小虾三级) | 2016-11-29 13:38

试过了T n T

支持(0) 反对(0) alroy233 | 园豆:53 (初学一级) | 2016-11-29 13:39

@涅白: {0:F} ?

支持(0) 反对(0) 筱浬 | 园豆:601 (小虾三级) | 2016-11-29 13:42

@筱浬: 不行

支持(0) 反对(0) alroy233 | 园豆:53 (初学一级) | 2016-11-29 15:33
0

ToString("f2")

lwr | 园豆:48 (初学一级) | 2016-11-29 16:45

然后?

支持(0) 反对(0) alroy233 | 园豆:53 (初学一级) | 2016-11-29 16:46
0

DataFormatString="{0:N2}"  应该是可以的

zhengyingcan | 园豆:12 (初学一级) | 2016-12-01 16:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册