예를 들어 두 개의 문자열에 "$ 100"과 "$ 50"이 있으면 출력을 "$ 150"에 추가하려고합니다. 나는 일반적인 방법 (정수로 변환하고 추가)를 알고,하지만 난 많은 기능objective-c 문자열에있는 정수 추가하기
2
A
답변
1
float result = [[fiftyBucks substringFromIndex:1] floatValue] + [[hundredBucks substringFromIndex:1] floatValue];
또는 NSScanner를 사용하여 호출하지 않는 짧은 방법을 찾고 있어요,하지만 조금 더 될 것입니다,하지만 더 신뢰성/안전 :
float fifty, hundred, result;
[[NSScaner scannerWithString: fiftyBucks] scanFloat: &fifty];
[[NSScaner scannerWithString: hundredBucks] scanFloat: &hundred];
result = fifty + hundred;
3
당신은의 NSNumber로 문자열을 구문 분석을 합계 한 다음 문자열로 다시 변환하는 NSNumberFormatter를 사용할 수 있습니다
NSString *strNum1 = "$100";
NSString *strNum2 = "$150";
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber * myFirstNumber = [f numberFromString:strNum1];
NSNumber * mySecNumber = [f numberFromString:strNum2];
NSNumber *sum = [NSNumber numberWithFloat:([myFirstNumber floatValue] + [mySecNumber floatValue])];
NSString * strSum = [f stringFromNumber:sum];
0
CGfloat에 가격을 저장하는 편이 낫다고 생각합니다.
"$ 100"문자열이 프런트 엔드 작업이고 가격의 합계를 계산하는 것은 백 엔드 작업입니다. 이 둘은 분리되어야합니다.
가격을 CGFloat로 저장하면 수학을 간단히 수행 할 수 있습니다. 그리고 그 문자열을 보여주고 싶을 때, juz는 메소드를 구현합니다.
- (NSString *)priceLabel:(CGFloat) _price {
return [NSString stringWithFormat: @"$.1f", _price];
}
또한 코드 작성시 프런트 엔드 도우미 모델을 만드는 것을 두려워하지 마십시오. 저는이 모든 종류의 작은 메소드를 클래스 메소드로서이 모델에 넣었습니다. 이 메소드를 재사용해야하는 곳이라면 간단히 모델을 임포트 할 수 있습니다.
+0
** CGFloat **는 핵심 그래픽 유형이므로 일반적인 ** float ** 대신에 사용하는 것이 잘못되었습니다. –
관련 문제
- 1. 배열에 정수 추가하기
- 2. 배열의 내용으로 정수 값 추가하기
- 3. NumberFormatter - ObjectiveC
- 4. InterfaceBuilder에서 이미지 시퀀스로드 -ObjectiveC
- 5. ObjectiveC 임의 숫자
- 6. Shapefile with ObjectiveC
- 7. ObjectiveC blocks Java equivalent
- 8. MulticastDelegate in ObjectiveC
- 9. ObjectiveC project organization
- 10. 이름이 문자열에있는 함수를 실행하십시오.
- 11. PHP의 문자열에있는 클래스 상수
- 12. 문자열에있는 단어에서 구두점 제거
- 13. ObjectiveC/iPhone의 TwitPic API 사용하기
- 14. UIScrollView에 이미지 배열 추가 ObjectiveC
- 15. objectivec : fb 게시물 댓글 오류
- 16. iphone objectiveC 할당/해제 질문
- 17. Python의 AppKit 및 ObjectiveC 대리자
- 18. 2D 동적 메모리 할당 - ObjectiveC
- 19. jQuery : 문자열에있는 문자의 발생을 계산합니다.
- 20. 문자열에있는 "&"를 모두 대체하는 Regex ...
- 21. DNA 시퀀스 문자열에있는 뉴클레오티드를 계산하십시오.
- 22. 문자열에있는 키워드를 가져 오는 NSPredicate
- 23. 사전 매핑의 문자열에있는 문자를 대체하십시오.
- 24. 문자열 목록에서 문자열 내의 구를 찾아 문자열에있는 두 개의 정수 (x..y)를 목록에 추가합니다. Python
- 25. gtata-objectivec-client를 통해 youtube 비디오 다운로드
- 26. ObjectiveC 실행 및 타이핑의 카테고리 및 속도
- 27. ObjectiveC 코드에서 C++ 클래스의 정적 필드 사용
- 28. GCC와 ObjectiveC 코드 및 Cygwin 도움말
- 29. ObjectiveC 메소드의 인자에 대한 포인터는 기본적으로 const입니까?
- 30. ObjectiveC 클래스에서 UIViewController에 대한 참조 만들기
* 일반적인 방법 *은 조작하기 쉬운 데이터 유형 (이 경우 정수)을 사용하고 프레젠테이션 중에 문자열로 변환하는 것입니다. 문자열을 사용하지 마십시오. – trojanfoe