2017-03-08 4 views
0

テキストボックスに値がある場合にのみ、テキストボックスをフロートに変換するにはどうすればよいですか?空でない場合にのみ、テキストボックスを浮動小数点に変換するにはどうすればよいですか?

私は現在、それが正常に動作します、しかし、テキストボックスが空の場合はエラーになります。このfloat test = (float)Convert.ToDouble(textbox.Text);

を持っています。

+0

チェックあなたが浮かぶように変換してみる前に、空ではありません。 –

+0

tryparse()を見てください。 (msdnページには例が含まれています) – Rob

+2

あなた自身の質問に答えます - "テキストボックスが空の場合" - それをコードに変換すれば、あなたはうまくいくでしょう。 – CodeMonkey1313

答えて

0

これを行う方法はたくさんありますが、一般的にはifでテストします。例:

float test; 
if (!string.IsNullOrWhiteSpace(textbox.text)) 
    test = (float)Convert.ToDouble(textbox.Text); 
0

非常に一般的な方法は、変換を行うためにdouble.TryParseを使用することです。これにより、1つのステートメントで空の値と無効な値を処理できます。

bool success = double.TryParse(textbox.Text, out value); 

successをチェックして、失敗する可能性があることを忘れないでください。

0

これはIf文にこれを含めるのと同じくらい簡単です。

float test; 

if(textbox.Text.Length > 0) //Or (textbox.Text != "") 
    test = (float)Convert.ToDouble(textbox.Text); 

追加の提案として、検証の複数のレイヤーは常に良いことです。送信ボタンのようなものがある場合は、UIが変換される前にUI上で必須フィールドが空であることをテストする必要があります。

1

は、私はよりよい解決策があることだろうと思います:テキストボックスのため

float test = float.NaN; 
if(float.TryParse(textbox.Text, out test)) 
{ 
    // your code here 
} 
関連する問題