2021-08-13

限制输入框只能输入两位小数

限制输入框只能输入两位小数,如果一开始输入0,然后再次输入数字。默认在中间给添加上小数点。

    /// 输入框限制数字
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        let text = textField.text ?? ""
        if !Tool.isNumberAndTwoDecimalContent(string: text + string) {
            if text.count > 0, string == ".", !text.contains(".") {
                return true
            }
            return false
            
        } else {
            if textField.text == "0", Tool.isNumberContent(string: string) {
                textField.text = "0."
            }
        }
        return true
    }
    /**
     *   判断只能输入数字和小数点后两位
     */
    static func isNumberAndTwoDecimalContent(string:String) -> Bool {
        let regex = "^[0-9]+(\\.[0-9]{1,2})?$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        let isValid = predicate.evaluate(with: string)
        return (isValid ? true : false)
    }
    /**
     *   判断只能输入数字
     */
    static func isNumberContent(string:String) -> Bool {
        let scan: Scanner = Scanner(string: string)
        var val:Int = 0
        return scan.scanInt(&val) && scan.isAtEnd
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二十一世纪旧体诗词风骚榜[https://www.jianshu.com/c/da968ae2d498] 上榜絮语...
    张成昱阅读 4,878评论 1 17
  • 文章图片上传不正常,如需文档,可联系微信:1017429387 目录 1 安装... 4 1.1 配置探针... ...
    Mrhappy_a7eb阅读 11,679评论 0 5
  • Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程 进行正式测试之前,应先确定如何开展测试,不可盲...
    夏了夏夏夏天阅读 5,086评论 0 0
  • 只能输入和粘贴汉字 只能输入和粘贴数字 数字脚本 只能输入数字和中文 简易禁止输入汉字 输入法不转换,但可粘贴上者...
    然亦伞阅读 5,074评论 0 1
  • 听到: 1、思维能力的提升,凡事有计划。 2、不是优秀而出场,而是一遍一遍的锻炼变得更优秀。 3、有时候觉得自己很...
    邓亨建阅读 1,333评论 0 0

友情链接更多精彩内容