iOS中UITextField輸入判斷小數點後兩位

來源:互聯網
上載者:User

標籤:number   draw   ISE   tostring   itext   log   tst   表達   完成   

在輸入金額的UITextField中,要給予三個規則的判斷 
1. 只能輸入數字(可以通過設定鍵盤類型為Decimal Pad) 
2. 小數點只能有一個 
3. 小數點後最多有兩位元字 (可以通過Regex或者長度判斷)

2. 3. 的代碼 (首先引入UITextFieldDelegate,指定代理為自己)

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{    if (textField == self.tfWithdrawalAmount) {        //如果輸入的是“.”  判斷之前已經有"."或者字串為空白        if ([string isEqualToString:@"."] && ([textField.text rangeOfString:@"."].location != NSNotFound || [textField.text isEqualToString:@""])) {            return NO;        }        //拼出輸入完成的str,判斷str的長度大於等於“.”的位置+4,則返回false,此次插入string失敗 ("379132.424",長度10,"."的位置6, 10>=6+4)        NSMutableString *str = [[NSMutableString alloc] initWithString:textField.text];        [str insertString:string atIndex:range.location];        if (str.length >= [str rangeOfString:@"."].location+4){            return NO;        }    }    return YES;}

iOS中UITextField輸入判斷小數點後兩位

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.