新增一个Swift文件

    1. public class DoubleFormatter: Formatter {
    2. override public func string(for obj: Any?) -> String? {
    3. var retVal: String?
    4. let formatter = NumberFormatter()
    5. formatter.numberStyle = .decimal
    6. if let dbl = obj as? Double {
    7. retVal = formatter.string(from: NSNumber(value: dbl))
    8. } else {
    9. retVal = nil
    10. }
    11. return retVal
    12. }
    13. override public func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, for string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
    14. var retVal = true
    15. if let dbl = Double(string), let objok = obj {
    16. objok.pointee = dbl as AnyObject?
    17. retVal = true
    18. } else {
    19. retVal = false
    20. }
    21. return retVal
    22. }
    23. }

    用法

       TextField("enter",value:$double,formatter: DoubleFormatter())
               .textFieldStyle(RoundedBorderTextFieldStyle())
               .keyboardType(.decimalPad)