使用小数时存在舍入错误,因为它从另一个系统读取另一个数据类型。所以我想知道是否可以在十进制类型上重载 + 运算符?我看到的所有例子都是关于新定义的结构。
问问题
451 次
2 回答
4
Nodecimal
是一个值类型,因此不能被继承。您可能必须通过扩展方法来纠正此之外的舍入,例如
public static decimal Add(this decimal value, ...)
{
... do manual calculation & rounding
}
于 2012-09-18T12:51:51.157 回答
3
您只能在该类/结构的定义中为该类/结构重载运算符,因此您无法覆盖该类型的默认+
行为decimal
。
理想情况下,您会编写某种包装器来纠正源处的舍入误差。
于 2012-09-18T12:52:18.630 回答