bu soru zaten yanıtlandı biliyorum ama herkes üst indis sayılar standart dizesinden dönüştürmek için kodumu yeniden istiyorsa, işte burada.
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *[email protected]"";
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;
}
Sayıların bir girdi dizesi verildiğinde, yalnızca eşdeğer üst simge dizesini döndürür.
Düzenleme (teşekkürler jrturton için):
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *[email protected]"";
unichar superScripts[] = {0x2070, 0x00B9, 0x00B2,0x00B3,0x2074,0x2075,0x2076,0x2077,0x2078,0x2079};
for (int i =0; i<[inputNumber length]; i++) {
NSInteger x =[[inputNumber substringWithRange:NSMakeRange(i, 1)] integerValue];
outp=[outp stringByAppendingFormat:@"%C", superScripts[x]];
}
return outp;
}
sayesinde bilgi için ... Sana da –