1

使用小数时存在舍入错误,因为它从另一个系统读取另一个数据类型。所以我想知道是否可以在十进制类型上重载 + 运算符?我看到的所有例子都是关于新定义的结构。

4

2 回答 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 回答