5
는 NSUInteger
에서 NSString *
을 반환하는 목표 - C 함수가 있습니까, 11 예 :반환 1, 2, ..., 11,
- 1 -> 1
- 2 -> 2
- ...
- 10 -> 10
- 21 -> 21
- ...
- 31 -> 31S t
1에서 31까지의 범위입니다. 감사합니다.
는 NSUInteger
에서 NSString *
을 반환하는 목표 - C 함수가 있습니까, 11 예 :반환 1, 2, ..., 11,
1에서 31까지의 범위입니다. 감사합니다.
- (NSString *)stringFromInt:(int)num {
NSString stringAddition;
if (num%100 >= 11 && num%100 <= 13) {
stringAddition = @"th";
}
else {
switch (num % 10) {
case 1: stringAddition = @"st"; break;
case 2: stringAddition = @"nd"; break;
case 3: stringAddition = @"rd"; break;
default: stringAddition = @"th"; break;
}
}
return [NSString stringWithFormat:@"%i%@", num, stringAddition];
}
EDIT는 :
는 11, 12, 13, 문제를 해결.
'11 ', '12', '13'은 어떻게됩니까? – polygenelubricants
"11st"를 돌려 주겠다고 전화합니까? "12nd"? "13rd"? "31st"는 좋지만 "11st"는 순수한 파손입니다. 이 특수한 경우는 아마도 자신의 모든''if()' '진술을 받아 들일 만하다. 또한 나는 오히려 "stringFromInt"보다는 "ordinalFromInt"라고 불리는 것이 더 좋을 것입니다 - 그 이름은 우리가 아무것도 추가하지 않는다고 말하지 않습니다.'NSString stringWithFormat : @ "% d", num]'. –
반환 값 바로 위에 조금 더 필요합니다 :'(num> = 11 && num <= 13) stringAddition = @ "th";'. –