问题是SqlDecimal数据类型包含比CLR本机的Decimal数据类型更多的位。那么如何以最实际的方式在两者之间进行映射。这个效果不好:
SqlDecimal x = ...
decimal z = x.value; // can overflow
要传递更多数字,可以删除尾随零。但是如果你接受转换给你的精度损失,你会发现有一个函数可以进行这种有损转换。
有吗?或者这里最好的做法是什么?
我已经创建了一个函数,它既可以裁剪也可以删除尾随的零来进行转换,但是如果存在这样的话,我宁愿使用标准的.NET BCL函数。