2017-04-07 9 views
0

다음 코드는 정수만 입력하는 것을 허용하지만 정수 대신 double (0.00)을 입력하는 옵션을 사용자에게 제공해야합니다. 어떤 제안이나 수정?ASPX C# 웹 사이트의 텍스트 상자에서 값을 두 개로 허용하는 방법?

if (_txStaticPressureUpdate.Trim() == "") 
    { 

     txSystemMessage.Text = "Field 'Static Pressure' is empty. Please enter a valid value."; 
     txSystemMessage.ForeColor = System.Drawing.Color.Red; 
     return; 
    } 

    //check that record info entered consists of numbers only/no special characters or letters 
    for (int j = 0; j < _txStaticPressureUpdate.Length; j++) 
    { 
     if (!char.IsControl(_txStaticPressureUpdate[j])) 
     { 
      txSystemMessage.Text = "Field 'Static Pressure' has an invalid value."; 
      txSystemMessage.ForeColor = System.Drawing.Color.Red; 
      return; 
     } 
     else 
     { 
      staticPressure = double.Parse(txStaticPressureUpdate.Text.Trim()); 
     } 
    } 

저는 ASPX/C# 웹 사이트에서 작업하고 있습니다. 사용 가능한 많은 옵션은 WinForms 용입니다. 그것은 Sitll 작동하지만, 수식의 최종 결과에서 더 정확하게하려면, 나는 double을 사용하려고합니다.

답변

3

double.TryParse는 입력 된 문자열을 확인하는 데 사용할 수있는 double입니다. 구문 분석이 성공했는지를 나타내는 bool을 반환하고 구문 분석 된 값을 변수에 전달합니다.

예 :

if (!double.TryParse(_txStaticPressureUpdate.Text.Trim(), out staticPressure)) 
    { 
     txSystemMessage.Text = "Field 'Static Pressure' has an invalid value."; 
     txSystemMessage.ForeColor = System.Drawing.Color.Red; 
     return; 
    } 

개별적으로 확인하고 반복 할 필요가 없습니다.

+0

원더풀! 너무 고마워, @ 제임스 굉장! 그것은 확실히 완벽하게 작동했습니다! –