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
または同様のものと見なされるためですか?
この結果にはかなりビックリしています。