2011-12-22 33 views
3

實際上是否有任何方法來標出任何數字?在我的應用程序中,我需要將從0到24的數字上標。
我知道,例如\u2070例如,我可以顯示上標0,但在Unicode中並不是我需要的所有數字。
我只想將一個NSString設置爲一個具有指數的數字,例如10^24。有沒有辦法做到這一點?取代任何字母/數字

回答

7

它們分散在整個的Unicode塊:

  • \u2070是上標0
  • \u00B9是上標1
  • \u00B2是上標2
  • \u00B3是上標3
  • \u2074是上標4
  • \u2075是上標5
  • \u2076是上標6
  • \u2077是上標7
  • \u2078是上標8
  • \u2079是上標9

把它們完全並使其更容易選擇數字,你可以使用一個wchar_t[]類型,或將它們存儲在一個字符串:

NSString *superDigits = @"\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079"; 

正如你可以創建一個格式化的整數作爲標串的方法練習。

+3

注意,在iOS中最字體,數字1,2和3期待與衆不同。看到這個問題的更多細節(和一致的字體列表):http://stackoverflow.com/questions/7663251/why-the-display-of-unicode-characters-for-superscripted-digits-are-not -at-the-sa/7663610#7663610 – jrturton 2011-12-22 20:04:33

+0

+1 @jrturton:是的,我也注意到了很多字體。我猜想替代方案是讓TUC將'\ u2070〜〜\ u2079'定義爲上標數字,並將'\ u00B2','\ u00B3'和'\ u00B9'作爲副本......但同一字形的多個代碼點可能比使用非連續代碼點的邏輯順序字符更難看。 – dreamlax 2011-12-22 21:49:01

+0

@dreamlax:我可以使用英文字母的Unicode嗎? – 2012-12-14 07:29:34

3

那麼,所有您需要的數字。 Look here

實施例:

ruby-1.9.3 > "1\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079" 
=> "1⁰¹²³⁴⁵⁶⁷⁸⁹" 
相關問題