我一直在玩一些数学,我注意到当你除以零时,而不是抛出DivideByZeroException浮点数和双精度数被分配了值Infinitity为什么会这样?
[TestMethod]
public void TestFloatDivideByZero()
{
double myDouble = 100.0;
var DbzDouble = 1000.0 / ((myDouble - myDouble) / myDouble);
// Infinity
float myFloat = 100.0f;
var DbzFloat = 1000.0 / ((myFloat - myFloat) / myFloat);
// Infinity
decimal myDecimal = 100M;
var DbzDecimal = 1000M / ((myDecimal - myDecimal) / myDecimal);
// DivideByZeroException
int myInt = 100;
var DbzInt = 1000 / ((myInt - myInt) / myInt);
// DivideByZeroException
}