텍스트 상자가 비어있을 때마다 나는 다음 코드 줄에 위의 오류를 얻고위한 올바른 형식이 아니 었 :입력 문자열은 소수 형식 텍스트 상자
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
내가 잘못 될 수있는 곳에 누군가가 말해 줄 수 그것을위한 해결책을 제공합니까?
텍스트 상자가 비어있을 때마다 나는 다음 코드 줄에 위의 오류를 얻고위한 올바른 형식이 아니 었 :입력 문자열은 소수 형식 텍스트 상자
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
내가 잘못 될 수있는 곳에 누군가가 말해 줄 수 그것을위한 해결책을 제공합니까?
내가 텍스트 상자가 비어있을 때마다 코드의 다음 줄에 위의 오류를 얻고있다 :
당신에게 예외를 피하고 유효한 inpu가 포함되어 있는지 확인하려면 Convert.ToDecimal
또는 Decimal.Parse
을 사용하는 경우 예외가 발생해야합니다. 당신이 빈 문자열에 대한 귀하의 TextBox.Text
를 확인하려면 t 다음 decimal.TryParse
decimal Qty;
if(!decimal.TryParse(txtQtyforAnalysis.Text, out Qty)
{
//Some invalid input , empty string or invalid decimal number
}
else
{
//valid decimal number
}
를 사용하여, 당신은 string.IsNullOrEmpty
또는 string.IsNullOrWhiteSpace
같은 (닷넷 프레임 워크 4.0 이상 제공)를 사용할 수 있습니다 :
if(string.IsNullOrWhiteSpace(txtQtyforAnalysis.Text))
{
//Don't do parsing
}
아무 것도 없을 때 기본값을 0으로 설정할 수 있습니다.이 작업을 수행한다고 가정합니다.
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text == "" ? "0" : txtQtyforAnalysis.Text);
또는 단지는 Decimal.TryParse를 사용
decimal Qty;
if (decimal.TryParse(txtQtyforAnalysis.Text, out Qty))
{
//it worked
}
무엇 일어날 거라 기대하는거야? 당신이 "원하는 경우"다음과 같은 일을 할, 수량이 0 인 의미합니다 :
Decimal qty = String.IsNullOrEmpty(txtQtyforAnalysis.Text) ? 0 : Convert.ToDecimal(txtQtyforAnalysis.Text);
이
If IsNumeric(txtQtyforAnalysis.Text)
{
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
}
감사를보십시오! 그것은 내 문제를 해결 :) –