나는 그것을 데이터베이스에 저장 TextBoxD1.Text
하기 위해로 변환하고 싶습니다 int
.
어떻게해야합니까?
답변
이 시도:
int x = Int32.Parse(TextBoxD1.Text);
또는 더 나은 아직 :
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
또한 반환 값 Int32.TryParse
a bool
를 사용하면 반환 값을 사용하여 구문 분석 시도 결과에 대한 결정을 내릴 수 있습니다.
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
궁금한 점과의 차이점은 다음 Parse
과 TryParse
같습니다.
TryParse 메서드는 Parse 메서드와 비슷하지만 변환에 실패한 경우 TryParse 메서드는 예외를 throw하지 않습니다. s가 유효하지 않고 구문 분석 할 수없는 경우 예외 처리를 사용하여 FormatException을 테스트 할 필요가 없습니다. – MSDN
답변
Convert.ToInt32( TextBoxD1.Text );
텍스트 상자의 내용이 유효하다고 확신하는 경우이 옵션을 사용하십시오 int
. 더 안전한 옵션은
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
사용할 수있는 기본값이 제공됩니다. Int32.TryParse
또한 구문 분석이 가능한지 여부를 나타내는 부울 값을 반환하므로 if
명령문 의 조건으로 사용할 수도 있습니다 .
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}
답변
int.TryParse()
텍스트가 숫자가 아닌 경우 발생하지 않습니다.
답변
int myInt = int.Parse(TextBoxD1.Text)
다른 방법은 다음과 같습니다.
bool isConvertible = false;
int myInt = 0;
isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
둘의 차이점은 텍스트 상자의 값을 변환 할 수없는 경우 첫 번째 값은 예외를 throw하는 반면 두 번째 값은 false를 반환한다는 것입니다.
답변
문자열을 구문 분석해야하며 문자열이 실제로 정수 형식인지 확인해야합니다.
가장 쉬운 방법은 다음과 같습니다.
int parsedInt = 0;
if (int.TryParse(TextBoxD1.Text, out parsedInt))
{
// Code for if the string was valid
}
else
{
// Code for if the string was invalid
}
답변
char에서 Convert.ToInt32 ()를 사용할 때주의하십시오! UTF-16을
반환합니다문자 코드를 !
[i]
인덱싱 연산자를 사용하여 특정 위치에서만 문자열에 액세스하면 !가 char
아닌 a를 반환 합니다 string
.
String input = "123678";
^
|
int indexOfSeven = 4;
int x = Convert.ToInt32(input[indexOfSeven]); // Returns 55
int x = Convert.ToInt32(input[indexOfSeven].toString()); // Returns 7
답변
int x = 0;
int.TryParse(TextBoxD1.Text, out x);
TryParse 문은 구문 분석이 성공했는지 여부를 나타내는 부울을 반환합니다. 성공하면 구문 분석 된 값이 두 번째 매개 변수에 저장됩니다.
자세한 내용은 Int32.TryParse 메서드 (String, Int32) 를 참조하십시오.