例如,假设我有一个NSString @“20O(2H,1H)19O”,我希望所有的数字都是上标。有一个简单的方法吗?
答案 0 :(得分:5)
我认为您可能希望NSAttributedString
与NSSuperScriptAttributeName
。如果您需要将其保留在NSString
中,unicode包含superscripted digits字符。
答案 1 :(得分:3)
此函数应返回上标中的给定数字。非常简单
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *outp=@"";
for (int i =0; i<[inputNumber length]; i++) {
unichar chara=[inputNumber characterAtIndex:i] ;
switch (chara) {
case '1':
NSLog(@"1");
outp=[outp stringByAppendingFormat:@"\u00B9"];
break;
case '2':
NSLog(@"2");
outp=[outp stringByAppendingFormat:@"\u00B2"];
break;
case '3':
NSLog(@"3");
outp=[outp stringByAppendingFormat:@"\u00B3"];
break;
case '4':
NSLog(@"4");
outp=[outp stringByAppendingFormat:@"\u2074"];
break;
case '5':
NSLog(@"5");
outp=[outp stringByAppendingFormat:@"\u2075"];
break;
case '6':
NSLog(@"6");
outp=[outp stringByAppendingFormat:@"\u2076"];
break;
case '7':
NSLog(@"7");
outp=[outp stringByAppendingFormat:@"\u2077"];
break;
case '8':
NSLog(@"8");
outp=[outp stringByAppendingFormat:@"\u2078"];
break;
case '9':
NSLog(@"9");
outp=[outp stringByAppendingFormat:@"\u2079"];
break;
case '0':
NSLog(@"0");
outp=[outp stringByAppendingFormat:@"\u2070"];
break;
default:
break;
}
}
return outp;
}
给定一个输入的数字字符串,它只返回等效的上标字符串。