제목으로. NSScanner를 테스트했지만 일부 이상한 문자열을 전달했습니다. (예 : 123aaa). < -> 숫자를 엄격하게 변환 할 수있는 방법이 있습니까?코코아의 문자열 표현에서 숫자 값을 파싱하는 방법은 무엇입니까?
0
A
답변
1
자신 만의 롤백을 쉽게 할 수 있습니다. 전체 문자열이 스캔되었는지 또는 추가 문자가 있는지 테스트하십시오.
NSScanner *scanner = [NSScanner localizedScannerWithString:str];
int i;
if (![scanner scanInt:&i] || [scanner scanLocation] < [str length]) {
// str contains additional characters
...
} else {
// str contains only an int
...
}
+0
감사합니다. 이것은 효과가있을 수 있습니다. – Eonil
0
NSScanner는 그다지 상위 수준이 아닙니다. 직접 문자열을 검증해야합니다.
한 가지 방법은 문자를 숫자 집합까지 스캔하고 실패했다고 주장한 다음 숫자를 스캔 한 다음 scan to the end을 실패한 것으로 주장합니다.
관련 문제
- 1. 월의 숫자 표현에서 선행 0을 제거하는 가장 좋은 방법은 무엇입니까?
- 2. 제네릭 형식을 문자열 표현에서 가져올 수있는 방법은 무엇입니까?
- 3. 그림 그리기 방법으로 숫자 그리드를 파싱하는 방법은 무엇입니까?
- 4. 데이터베이스에서 값을 파싱하는 방법
- 5. MySQL에서 다른 숫자 값을 편집하는 방법은 무엇입니까?
- 6. Enum에서 숫자 값을 가져 오는 방법은 무엇입니까?
- 7. XML 태그에서 C 언어로 값을 파싱하는 방법은 무엇입니까?
- 8. 상대 시간을 파싱하는 방법은 무엇입니까?
- 9. net에서 xml을 파싱하는 방법은 무엇입니까?
- 10. 숫자 형식 문자열 : 시간
- 11. 코코아의 NSLevelIndicator의 색조를 변경하는 방법은 무엇입니까?
- 12. 문자열 값을 db null로 바꾸는 방법은 무엇입니까?
- 13. swf에 쿼리 문자열 값을 전달하는 방법은 무엇입니까?
- 14. plpython에서 문자열 값을 바꾸는 방법은 무엇입니까?
- 15. UItextView의 문자열 값을 가져 오는 방법은 무엇입니까?
- 16. 정규 표현식으로 문자열 값을 비교하는 방법은 무엇입니까?
- 17. 새 문자열 값을 올바르게 할당하는 방법은 무엇입니까?
- 18. JSON 문자열 값을 가져 오는 방법은 무엇입니까?
- 19. android에서 스피너 문자열 값을 얻는 방법은 무엇입니까?
- 20. 탄소와 코코아의 차이점은 무엇입니까?
- 21. 정규 표현에서 틸드 연산자
- 22. Python : 숫자 문자열 식별?
- 23. Inno Setup Script에서 문자열 버전 값을 숫자 값으로 변환하는 방법은 무엇입니까?
- 24. 자바 스크립트를 사용하여 영숫자 문자열 값에서 숫자 값을 분할하는 방법은 무엇입니까?
- 25. 다른 파일을 포함하는 파일을 파싱하는 방법은 무엇입니까?
- 26. 파이썬에서 C++ 소스를 파싱하는 방법은 무엇입니까?
- 27. HTML을 빠르게 파싱하는 가장 좋은 방법은 무엇입니까?
- 28. 자바와 링크를 자바 스크립트로 파싱하는 방법은 무엇입니까?
- 29. 플로트를 파싱하는 가장 좋은 방법은 무엇입니까?
- 30. Delphi에서 선을 가장 빨리 파싱하는 방법은 무엇입니까?
어떤 숫자 유형입니까? 정수? 부동 소수점? 무슨 기지 요? – outis
NSInteger와 float 둘 다였습니다. 나는 도트 문자 (".")를 찾아 클래스를 분류했다. – Eonil