2013-07-24 25 views
0

問題是俄語本地化數字鍵盤有「,」而不是「。」。和視圖加載時,我有「0.0」的文本字段,當我認爲用戶將只能輸入「。」。我使用這樣的代碼來防止輸入多個「。」。ios限制輸入多個「。」。或「,」(如果是俄語本地化)

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string]; 

    NSArray *arrayOfString = [newString componentsSeparatedByString:@"."]; 

    if ([arrayOfString count] > 2) 
    { 
     return NO; 
    } 
} 

但是在rus本地化板出現時,出現「,」而不是「。」。我找不到如何防止輸入「,」如果有「」。「已經

我將用「」替換輸入的「,」。所以如果有人幫助限制輸入,我會很高興「,」如果有的話「。」在文本字段中已經有

回答

1

您可以使用NSNumberFormatter在您的字段中顯示本地化號碼。

NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:kCFNumberFormatterDecimalStyle]; 
[formatter setMaximumFractionDigits:1]; 
[formatter setLocale:[NSLocale currentLocale]]; 
NSString * myString = [formatter stringFromNumber:[NSNumber numberWithFloat:123.456]]; 

https://stackoverflow.com/a/11504127/719866

您可以使用格式化您的檢查,看是否由用戶輸入的值是有效的與-numberFromString:方法的語言環境。