问题描述
sql里的字段定义是numeric(18,4)c#里定义是Decimal传递参数定义是newSqlParameter("@Discount",SqlDbType.Decimal)_param[9].Direction=ParameterDirection.Output;sql里Discount的值是0.3154c#取值出来Discount=Decimal.Round(Convert.ToDecimal(_param[9].Value),4);_param[9].Value的值=0(四舍五入成了整数??)如果值是0.5的,就取值成了1。求大神指点。。。
解决方案
解决方案二:
Decimal.Round(Convert.ToDecimal(_param[9].Value),4);不懂你的意思,你的代码不是Round了吗?
解决方案三:
ROUND是我后面加的,结果还是一样。因为_param[9].Value的值本身就是四舍五入了,我就是没想明白这里。
解决方案四:
定义变量的时候设初始值试试DecimalDiscount=0.0000;Discount=Convert.ToDecimal(_param[9].Value);
解决方案五:
Discount=Convert.ToDecimal(_param[9].Value);
时间: 2024-09-08 16:16:09