将 .net 的 decimal 类型转换为 tsql 的 decimal(3,3)。

4

我有一个存储过程,其参数为 decimal(3,3)。当我尝试传递这个参数时:

new SqlParameter { ParameterName = "@Wear", SqlDbType = SqlDbType.Decimal, Value = wear.WearValue }

我遇到了一个问题:

将数据类型numeric转换为decimal时出错。

当我尝试传递1.0值时会出现这个异常。我需要将1.0 确切地 转换成 decimal(3,3),我该怎么做呢?


十进制示例 = 12.34567;十进制输出 = Math.Round(示例, 3); - sohaiby
1
你不能将 1.0 转换为 decimal(3,3),因为 decimal(3,3) 只有 3 个数字的空间,其中必须有 3 个数字出现在小数点后面。由此推断,在小数点前面它不能接受任何数字。 - Damien_The_Unbeliever
1个回答

4

当您尝试插入大于decimal(3,3)允许的最大值0.999时,将会发生异常。建议使用类似decimal(4,3)的方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接