Вы, похоже, подразумеваете, что то, что выводит NumberFormatter
, неверно. Однако, как коренной китаец, я могу с уверенностью сказать, что «50%» - это естественный способ написания процента в локали zh
. Это также видно из этого Baidu Baike (китайский аналог Википедии) статья . Я никогда не видел ни одного приложения, пишущего проценты со знаком полной ширины. Я даже не могу напечатать его с китайским IME на моей Ma c.
. На мой взгляд, "50 %" выглядит странно, возможно, потому что он смешивает символы полной ширины и полуширины. Я иногда видел «50 %» на японских сайтах, но это все еще довольно редко.
, если вы действительно хотите, вы можете установить свойство percentSymbol
в NumberFormatter
:
let formatter = NumberFormatter()
formatter.percentSymbol = "%"
formatter.numberStyle = .percent
print(formatter.string(from: 0.5) ?? "failed")
Если честно, я бы поверил в вывод NumberFormatter
, который разработан группой профессиональных инженеров локализации.