引用 5 楼 cookiesjing 的回复: 引用 4 楼 haukwong 的回复:sql 2012没发现有什么问题 是否可以把问题描述详细一点?什么时候变成 34.00 四舍五入的?sql求sum的时候?还是在C#代码里面呢? 哦,数据库里没问题,是在C#代码里。 C#里面是如何取值的呢? C#里面也有decimal哦 SqlDataReade……
引用 8 楼 haukwong 的回复:引用 5 楼 cookiesjing 的回复: 引用 4 楼 haukwong 的回复:sql 2012没发现有什么问题 是否可以把问题描述详细一点?什么时候变成 34.00 四舍五入的?sql求sum的时候?还是在C#代码里面呢? 哦,数据库里没问题,是在C#代码里。 C#里面是如何取值的呢? C#里面也有dec……
引用 4 楼 haukwong 的回复:sql 2012没发现有什么问题 是否可以把问题描述详细一点?什么时候变成 34.00 四舍五入的?sql求sum的时候?还是在C#代码里面呢? 哦,数据库里没问题,是在C#代码里。
sql 2012没发现有什么问题 是否可以把问题描述详细一点?什么时候变成 34.00 四舍五入的?sql求sum的时候?还是在C#代码里面呢?
你是什么数据库?我从未发现这种自动四舍五入的现象,难道是你取出来后到实体类的时候,用int类型的属性加载了它?
试试如下的写法,特别是最后那个 Convert.ToDecimal完全多余。 cmd.Parameters.Add("@..", SqlDbType.Decimal).Scale = 2; cmd.Parameters["@.."].Direction = ParameterDirection.Output; Decimal sumMoney = (Decimal)cmd.Parameter……
你是存储过程定义出了问题,输出参数定义为了decimal,应该定义为decimal(18,2),这个我在一些代码生成工具里就看到了,他们忽视了这个类型的精度,产生了BUG。
111,098
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧