【问题标题】:Localizing percentage values [closed]本地化百分比值
【发布时间】:2018-09-01 12:18:38
【问题描述】:

我想显示一个字符串,例如:

99%

根据Percent sign Wikipedia article,根据用户的语言,至少有13种不同的变体。

如何在 Swift 中显示带有 % 符号的数字,根据用户的区域设置显示正确?

【问题讨论】:

标签: ios swift


【解决方案1】:

您可以使用 NumberFormatter 来执行此操作。默认情况下,它会考虑用户当前的语言环境,您也可以使用Locale.current 来获取。如果你希望你也可以改变它,

func percentFormatted(number: Float, locale: Locale = Locale.current) -> String? {
    let number = (num / 100) as NSNumber
    let numberFormatter = NumberFormatter()
    numberFormatter.numberStyle = .percent
    numberFormatter.maximumFractionDigits = 2
    numberFormatter.minimumFractionDigits = 0
    numberFormatter.locale = locale
    return numberFormatter.string(from: number)
}

percentFormatted(number: 99.0) // 99% default locale en_US
percentFormatted(number: 99.0, locale: Locale(identifier: "fi_FI")) // 99 %
percentFormatted(number: 99.0, locale: Locale(identifier: "tr_TR")) // %99

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多