今天在开发过程中遇到SqlDbType.Decimal类型的参数,返回值却是没有小数位的整数值,郁闷坏了。查了半天资料,原来需要指定小数位。具体书写如下:
cmd.Parameters.Add("@Percent", SqlDbType.Decimal).Direction = ParameterDirection.Output;
cmd.Parameters["@Percent"].Precision = (byte)18;
cmd.Parameters["@Percent"].Scale = (byte)2;
这样出来的就是小数点后保留两位的。
msdn帮助文档上说明:
SqlParameter.Precision 属性:指点最大位数;
SqlParameter.Scale 属性:指定小数位数;