3
숫자를 읽는 코드가 있는데 (문자열로 나타남) 바이트로 변환하려고합니다.C#에서이 변환으로 인해 "입력 문자열이 올바른 형식이 아닙니다." 오류?
일반적으로 값은 0과 1 사이 (예 : .25)이며 아래의 코드는 제대로 작동하지만 음수 값, 특히 "-1"이 나타나서이 코드가 왜 울리는 지 파악하려고합니다.
public static byte GetByteVal(DataRow dataRow, string caption)
{
var val = dataRow.GetValue(caption).ToString().Trim();
if (!String.IsNullOrEmpty(val))
{
decimal convertedVal = Decimal.Parse(val, NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint) * 100;
if (convertedVal >= 0)
{
return (byte)(convertedVal);
}
else
{
return (byte)0;
}
}
return (byte)0;
}
"발"은 변수로 올 때 "-1", 나는이 라인에 예외가 얻을 :
decimal convertedVal = Decimal.Parse(val, NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint) * 100;
말한다 :
,717을
시도가 너무'NumberStyles.AllowLeadingSign'를 추가! – Chris
@Chris 답변으로 게시해야합니다. – CodingGorilla