C# で簡単なdivide関数を作成しました。
private string divide(int a, int b)
{
return string.Format("Result: {0}", a / b);
}
を呼び出すMessageBox.Show(divide(3, 0))と、予想どおり、DivideByZeroException.
aそこで、次のように (整数以外の戻り値を取得するために) floatに型キャストすることにしました。
private string divide(int a, int b)
{
return string.Format("Result: {0}", (float)a / b);
}
奇妙なことに、これでResult: Infinityが表示されます。
私は間違っているかもしれませんが、これは私にはバグのように思えます。結果がフロートになり、本質的に戻り値3 / 1 x 10^-99999または同様のものと見なされるためですか?
この結果にはかなりビックリしています。