【问题标题】:UITextField decimal pad show dot instead of commaUITextField 小数点显示点而不是逗号
【发布时间】:2021-06-28 17:05:46
【问题描述】:

如何显示。而不是 , 小数点符号?

我找到了一些使用 NSNumberFormatter 的解决方案,即时替换字符串和 UIEnglishTextField 的扩展名,这应该返回本地化的文本字段。

这些解决方案都不适合我。

我的意思是我肯定可以转换字符串,但是有没有办法显示右点符号。

【问题讨论】:

  • AFAIK 你不能。这是由用户设备的区域设置定义的。那是用户的选择。用户必须转到设置 > 常规 > 语言和地区 > 地区,然后选择所需的地区,也可能选择语言。
  • 这由设备的区域设置控制。您是说您的设备的区域设置使用逗号,并且您不想尊重用户的偏好并用点/句点/句号覆盖它?通常,我们总是希望用户输入尊重设备偏好。
  • 知道了,谢谢!那么使用nsnumber解决方案可能会更好

标签: ios swift uitextfield uikeyboard


【解决方案1】:

这超出了主题,但这段代码对我有用(SWIFT 5):

extension String {
    static let numberFormatter = NumberFormatter()
    var doubleValue: Double? {
        String.numberFormatter.decimalSeparator = "."
        if let result =  String.numberFormatter.number(from: self) {
            return result.doubleValue
        } else {
            String.numberFormatter.decimalSeparator = ","
            if let result = String.numberFormatter.number(from: self) {
                return result.doubleValue
            } else {
                return nil
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 2015-10-15
    • 2015-07-20
    • 1970-01-01
    • 2016-06-18
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多