【发布时间】:2017-12-03 06:01:09
【问题描述】:
许多数学函数在将 NaN 参数传递给它们时返回 NaN。我想知道为什么 Math.Sign() 在传递 NaN 时会抛出异常?
如何决定哪个方法返回 NaN 以及哪个方法抛出异常。了解这一点将帮助我在自己的方法中遵循正确的设计。
【问题讨论】:
-
因为是documented behavior:
ArithmeticException| 值等于 NaN. -
@Maxim 我的问题是为什么会做出这个决定?许多其他数学函数在传递一个 NaN 时返回一个 NaN。
-
当正常行为是返回符号时,为什么 Math.Sign() 应该返回
NaN?