📜  C#中的Decimal.Negate()方法(1)

📅  最后修改于: 2023-12-03 15:14:31.511000             🧑  作者: Mango

C#中的Decimal.Negate()方法

在C#中,Decimal.Negate()方法用于将Decimal类型的数值取反。这个方法不改变原始的Decimal值,而是返回一个新的Decimal值,其值与原始值的符号相反。

方法声明
public static decimal Negate(decimal d)

该方法接受一个Decimal类型的数值作为参数,并返回一个新的Decimal类型的数值。

用法示例

假设我们有一个Decimal类型的值-10.5

decimal originalValue = -10.5m;

我们可以使用Negate()方法将其取反:

decimal negatedValue = Decimal.Negate(originalValue);

此时,negatedValue的值为10.5

我们还可以链式调用该方法,对值进行多次取反:

decimal doubleNegatedValue = Decimal.Negate(Decimal.Negate(originalValue));

此时,doubleNegatedValue的值将会恢复为-10.5

注意事项

Negate()方法也适用于Nullable类型的Decimal(即decimal?)。在这种情况下,方法的返回值将仍然是一个Nullable类型。

decimal? nullableValue = -10.5m;
decimal? negatedNullableValue = Decimal.Negate(nullableValue);

此时,negatedNullableValue的值为10.5

此外,如果参数值为Decimal.MinValue,调用Negate()方法将会抛出OverflowException异常。在这种情况下,应该特别小心。