2011-07-26 12 views

cevap

5

:

¹ 
SUPERSCRIPT ONE 
Unicode: U+00B9, UTF-8: C2 B9 

² 
SUPERSCRIPT TWO 
Unicode: U+00B2, UTF-8: C2 B2 

³ 
SUPERSCRIPT THREE 
Unicode: U+00B3, UTF-8: C2 B3 

Bu, NSStrings için bunları yapmak için, yapacağın:

NSString *superscript1 = @"\u00B9"; 
NSString *superscript2 = @"\u00B2"; 
NSString *superscript3 = @"\u00B3"; 
5

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; 
} 
+2

bir nk sonra sadece gelen objectAtIndex alan tüm karakterlerin dizisi olması çok daha basit olurdu olduğunu dizi. – jrturton