如何在 swift 3 的 UItextField 中使用波斯数字


嗨,我正在我的 swift3 应用程序中使用文本字段 - 我希望当用户在文本字段中输入数字而不是英文数字时,文本字段

显示波斯数字 - 我的文本字段键盘已设置为仅输入数字,因此用户无法使用键盘在文本字段中使用文本,所以这是我的代码不起作用

  override func viewDidLoad() {
         super.viewDidLoad()
 let numberFormatter = NumberFormatter()
    numberFormatter.locale = Locale(identifier: "fa")
    numberFormatter.numberStyle = NumberFormatter.Style.decimal
    let cm:Int? = Int(englishNumber.text!)
    if cm != nil {
    numberFormatter.string(from: NSNumber(value: cm!))
    myTextField.text = numberFormatter.string(from: NSNumber(value: cm!))!
    }
**

请记住,我使用了文本字段委托,我希望用户输入的每个数字都更改为波斯数字,并且用户认为写入波斯数字**

试试这个:

 func convertEngNumToPersianNum(num: String)->String{
        let number = NSNumber(value: Int(num)!)
        let format = NumberFormatter()
        format.locale = Locale(identifier: "fa_IR")
        let faNumber = format.string(from: number)
        return faNumber!
    }

最新更新