NumberFormatter:允许“,”和“.” 作为小数点分隔符

Ric*_*hiy 5 foundation numberformatter nsnumberformatter ios swift

我用来NumberFormatter格式化和验证用户的货币输入。由于有些人正在使用,而其他人则.与所选区域设置无关,因此我希望在处理输入时将这两个符号视为小数分隔符(即格式化 a Stringto Number)。

我怎样才能实现这个目标?

我当前的NumberFormatter配置如下:

    private lazy var currencyFormatter: NumberFormatter = {
        let currencyFormatter = NumberFormatter()
        currencyFormatter.numberStyle = .currency
        currencyFormatter.locale = Locale.autoupdatingCurrent
        currencyFormatter.currencySymbol = ""
        currencyFormatter.maximumFractionDigits = 2
        currencyFormatter.minimumFractionDigits = 2
        return currencyFormatter
    }()
Run Code Online (Sandbox Code Playgroud)

我应该使用多个格式化程序来实现我想要的结果吗?

结果

我希望拥有数字5,34并被5.34视为有效并转换为适当的NSNumber. 但是,我仍然希望能够以5.34lksdfns无效为由拒绝。