可现在换成用存储过程,同样的方法为什么显示不出效果呢,小数点还是原来的6位。存储过程肯定没有问题,因为数据是能显示在gridview中的。只是不会去掉小数点。
另外只是想知道为什么,用存储过程查出来和用sql查出来到底有什么区别。
11 个解决方案
#1
期待高手出现
#2
都是数据集,效率可能不同
{0:D4}由0填充的4个字符宽的字段中显示整数;
{0:000.0}四舍五入小数点保留第几位有效数字;
{0:N2}小数点保留2位有效数字
{0:D4}由0填充的4个字符宽的字段中显示整数;
{0:000.0}四舍五入小数点保留第几位有效数字;
{0:N2}小数点保留2位有效数字
#3
现在不是格式化字符串的问题,因为用存储过程查出来的用什么格式化都没用。这到底是为什么啊?楼上的高手
#4
这个在绑定的时候转换一下,应该没问题:试试
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[你的列号].Text = Convert.ToDecimal(e.Row.Cells[你的列号].Text).ToString("N2");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[你的列号].Text = Convert.ToDecimal(e.Row.Cells[你的列号].Text).ToString("N2");
}
#5
现在不是说怎么能解决这个问题,不觉得很奇怪吗?sql可以,存储过程不行。大家没有遇到过吗?
#6
你的DataFormatString可能有点问题!!
用以下试试能否通过!!
....DataFormatString="{0:N2}" HtmlEncode="False">
用以下试试能否通过!!
....DataFormatString="{0:N2}" HtmlEncode="False">
#7
再次说明,用什么格式在存储过程查出来的数据显示都不行!
如果DataFormatString有问题的话,为什么sql就可以呢?
如果DataFormatString有问题的话,为什么sql就可以呢?
#8
没遇到过这样问题,其实用存储过程比你用sql要安全多了。建议楼主在认真检查一下存储过程,里面是否有转换。把小数给丢了。或者小数点够不够大。。
#9
要不楼主你在存储过程中就把数据取成精度为2的算了,不要再在程序中提取了
#10
帖代碼,存儲過程出來看看就知道了。不會是字符串格式的問題。
#11
用存儲過程
create procedure xx
as begin
select * from t1
end
和用SQL
SELECT * FROM T1
查詢速度完全一樣沒有區別的。
create procedure xx
as begin
select * from t1
end
和用SQL
SELECT * FROM T1
查詢速度完全一樣沒有區別的。
#1
期待高手出现
#2
都是数据集,效率可能不同
{0:D4}由0填充的4个字符宽的字段中显示整数;
{0:000.0}四舍五入小数点保留第几位有效数字;
{0:N2}小数点保留2位有效数字
{0:D4}由0填充的4个字符宽的字段中显示整数;
{0:000.0}四舍五入小数点保留第几位有效数字;
{0:N2}小数点保留2位有效数字
#3
现在不是格式化字符串的问题,因为用存储过程查出来的用什么格式化都没用。这到底是为什么啊?楼上的高手
#4
这个在绑定的时候转换一下,应该没问题:试试
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[你的列号].Text = Convert.ToDecimal(e.Row.Cells[你的列号].Text).ToString("N2");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[你的列号].Text = Convert.ToDecimal(e.Row.Cells[你的列号].Text).ToString("N2");
}
#5
现在不是说怎么能解决这个问题,不觉得很奇怪吗?sql可以,存储过程不行。大家没有遇到过吗?
#6
你的DataFormatString可能有点问题!!
用以下试试能否通过!!
....DataFormatString="{0:N2}" HtmlEncode="False">
用以下试试能否通过!!
....DataFormatString="{0:N2}" HtmlEncode="False">
#7
再次说明,用什么格式在存储过程查出来的数据显示都不行!
如果DataFormatString有问题的话,为什么sql就可以呢?
如果DataFormatString有问题的话,为什么sql就可以呢?
#8
没遇到过这样问题,其实用存储过程比你用sql要安全多了。建议楼主在认真检查一下存储过程,里面是否有转换。把小数给丢了。或者小数点够不够大。。
#9
要不楼主你在存储过程中就把数据取成精度为2的算了,不要再在程序中提取了
#10
帖代碼,存儲過程出來看看就知道了。不會是字符串格式的問題。
#11
用存儲過程
create procedure xx
as begin
select * from t1
end
和用SQL
SELECT * FROM T1
查詢速度完全一樣沒有區別的。
create procedure xx
as begin
select * from t1
end
和用SQL
SELECT * FROM T1
查詢速度完全一樣沒有區別的。