목표 C 문자열에서 정수 구문 분석
배열에서 문자열(정수 포함)을 추출한 다음 함수에서 int로 사용하려고 합니다.intValue를 사용하여 int로 변환하려고 합니다.
여기 제가 시도해 본 코드가 있습니다.
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
다음 오류가 발생했습니다.
'1987'의 3번 주장을 통과함In:::'은 캐스트가 없는 정수에서 포인터를 만듭니다.
뭐가 잘못됐나요?
저는 이 질문에 대해 무엇이 그렇게 어려웠는지 정말 모르겠습니다만, 저는 이렇게 할 수 있었습니다.
[myStringContainingInt intValue];
다음 작업도 수행할 수 있습니다.
myStringContainingInt.intValue;
문자열을 [strintValue] 또는 [str integerValue]와 같이 변환할 수 있습니다.
integerValue 수신기 텍스트의 NSInteger 값을 반환합니다.
- (NSInteger) 정수 값 반환 값 수신자 텍스트의 NSInteger 값으로, 십진수 표현을 가정하고 문자열 시작 부분에서 공백을 건너뜁니다.수신기가 숫자의 유효한 십진수 텍스트 표현으로 시작하지 않으면 0을 반환합니다.
자세한 내용은 여기를 참조하십시오.
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
_returnedArguments
의 배열입니다.NSStrings
어느 것이UITextField text
숙박업소에서 기다리고 있습니다.변환할 필요가 없습니다.
구문 오류:
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
_appDelegate에 다음이 있는 경우passwordField
속성을 사용하면 다음을 사용하여 텍스트를 설정할 수 있습니다.
[[_appDelegate passwordField] setText:[_returnedArguments objectAtIndex:2]];
기본적으로 세 번째 매개 변수는loggedIn
정수가 아니라 개체여야 하지만 메서드 호출에서 매개 변수의 이름을 지정하지 않았기 때문에 확실하게 알 수 없습니다.우리가 확실히 볼 수 있도록 메소드 서명을 제공합니다.아마도 그것은 필요할 것입니다.NSNumber
뭐 그런 거.
국제 사용자는 다음과 같은 소수 구분 기호를 사용할 수 있습니다..
값이 혼동되거나 사용 시 0이 될 수 있는 경우intValue
끈으로
예를 들어, 영국에서는1.23
작성됨1,23
그래서 그 숫자는1.777
사용자가 다음과 같이 입력합니다.1,777
그, 즉.intValue
,될 것이다1777
것은 아니다.1
(계속).
입력 텍스트를 0일 수 있는 로케일 인수를 기반으로 NSNumber로 변환하는 매크로를 만들었습니다(0인 경우 장치 현재 로케일을 사용합니다).
#define stringToNumber(__string, __nullable_locale) (\
(^NSNumber *(void){\
NSLocale *__locale = __nullable_locale;\
if (!__locale) {\
__locale = [NSLocale currentLocale];\
}\
NSString *__string_copy = [__string stringByReplacingOccurrencesOfString:__locale.groupingSeparator withString:@""];\
__string_copy = [__string_copy stringByReplacingOccurrencesOfString:__locale.decimalSeparator withString:@"."];\
return @([__string_copy doubleValue]);\
})()\
)
만약 내가 당신을 올바르게 이해했다면, 당신은 당신의 것을 변환해야 합니다.NSString
로.int
다음과 같은 코드 평화를 시도해 보십시오.
NSString *stringWithNumberInside = [_returnedArguments objectAtIndex:2];
int number;
sscanf([stringWithNumberInside UTF8String], "%x", &flags);
언급URL : https://stackoverflow.com/questions/3559088/objectivec-parse-integer-from-string
'sourcecode' 카테고리의 다른 글
div 내에서 텍스트 수직 정렬 (0) | 2023.06.02 |
---|---|
iOS에서 두 날짜 사이의 시간(시간)을 계산하는 방법 (0) | 2023.06.02 |
디렉터리 구조를 복사하지만 특정 파일만 포함하는 방법(Windows 배치 파일 사용) (0) | 2023.06.02 |
SQL Server에서 시작/끝 블록 및 Go 키워드를 사용하시겠습니까? (0) | 2023.06.02 |
자체에 WPF 바인딩 (0) | 2023.06.02 |