なぜこれが私にエラーを与えているのか興味があります:
入力文字列は、正しい形式ではありませんでした。
このエラーは、画面がnull
そうであるため、チェックに失敗し、例外が発生しないために発生します。
if (double.Parse(textDisplay.Text) >= -2147483647 & textDisplay.Text != null)
最初に null でないかどうかを確認します。&&
また、両方の引数をチェックするシングルとしてダブルを使用します。またdouble.TryParse
、入力が数値でない場合に備えた方がよいでしょう。
if (textDisplay.Text != null && double.Parse(textDisplay.Text) >= -2147483647)
より良いバージョン:
double value = 0;
if (double.TryParse(textDisplay.Text, out value) && value >= -2147483647)
TryParse
代わりに使用するParse
と、例外が発生せず、有効な場合はブール値が返されます
double res = 0;
if(double.TryParse("asd", out res))
{
var a = res;
};
&& 代わりに試してください
if (double.Parse(textDisplay.Text) >= -2147483647 && textDisplay.Text != null)
また
double @num;
if(double.TryParse(textDisplay.Text, out @num) && @num >= -2147483647)
return @num;