2011-08-25 43 views
0

我向用戶顯示一個顯示數字鍵盤的字段,並且只希望它們能夠輸入帶小數的數字,它應該只有一個。小數點後面至少應該有2位數字。小數點前應該有至少一位數。然後輸入不能是0或0.00。假設如果用戶輸入數字123456它被接受,然後123.56它也接受,如果用戶輸入123,然後它需要000123,我怎麼能最大長度的文本字段是6,最小是1請幫我這個...格式在UITextfield中有兩個十進制格式的整數

在此先感謝

+0

你想在按下某個完成按鈕時檢查此項,或者當用戶輸入6位數字時他不能輸入更多數字。 – Gypsa

+0

如果用戶輸入25,則需要000025不超過6位數,假設用戶輸入1,則會在3或4個字符之後採用000001。應該出現它也計算爲一個數字..請幫助我這一個... – user900017

+0

可能重複[格式Interger在UITextfield中有兩個十進制格式](http://stackoverflow.com/questions/7185092/format-interger-帶有兩位十進制格式的uitextfield) –

回答

0

檢查這個條件,並添加前綴

NSLog(@"%d",[textfield.text length]);     
    if(length<0) 
    { 
    add prefix for remaining; 
    } 
0

我創建了一個邏輯you.You可以使用此:; -

NSString *string=yourtextField.text;//it will contain your text field text 
    int stringLength=[string length]; 
    if (stringLength>6) { 
     NSLog(@"error"); 
    } 
    else if(stringLength>1) 
    { 
     int n=6-stringLength; 
     for (int i=0; i<n; i++) { 
      NSString *newString=[NSString stringWithFormat:@"0%@",string]; 
      string=newString; 
     } 
     NSLog(@"%@",string); 
    } 
    else { 
     NSLog(@"empty string"); 
    } 

希望這會幫助你。

+0

是的,它正在工作,但如果用戶輸入一個字母,它不會取零。然後,我只需要一位小數,在2位數的小數前應該請幫我這個一個... – user900017

+0

如果你輸入1,它將打印像000001.Am我對這是你的問題。 – Gypsa

+0

請詳細說明你想用小數做什麼 – Gypsa