我想將NSString轉換爲NSNumber而不使用numbreFromString:方法? numbreFromString:metgod在4.0中表現怪異。所以我想用另一種方法將NSString轉換爲NSNumber。請幫我....如何將NSString轉換爲NSNumber而不使用numberfromstring
+ (NSString *)formatText:(NSString *) text withLocalSettings:(BOOL) isLacale {
NSNumber *aNsNumber= [numberFormatter numberFromString: text];
NSString *returnString = [NSString stringWithString:[numberFormatter stringForObjectValue:aNsNumber]];
if(isLacale) {
return returnString;
}
else {
return [NSString stringWithFormat:@"%lf",[aNsNumber doubleValue]];
}
}
我開發一個應用程序,我需要運行我的應用程序都在3.0和4.0。我有一個文本框,當我嘗試在文本框中輸入數字時,行爲就像這樣...在3.0中: - 它允許輸入7位數字和2個小數值(我已經像這樣格式化了)。根據選擇的國家,我已經格式化和定位了數字以及逗號分隔。這是在3.0和3.1.2完美工作
在4.0中: - 它允許你只輸入4個數字,輸入第5位數字後,它是使文本域爲空..當你輸入第5個數字時,你輸入從第一個數字開始的第六個數字並繼續相同的直到第四個數字。例如: - 當你輸入1234時,文本框出現--1234,當你輸入12345時,文本框出現「」。當你輸入6現在它以6開頭,依此類推。
我正在使用NSNumberFormatter和numberfromstring方法來格式化在文本字段中輸入的值。
我無法理解爲什麼會發生這樣的...請幫我...
我可能會試圖找出爲什麼該方法奇怪地工作。在10個案例中,有9個問題存在於輸入中。發佈你的代碼和輸入 - 這將給我們更多的工作。 – 2010-07-02 06:38:49
+(NSString *)formatText:(NSString *)text withLocalSettings:(BOOL)isLacale { \t [numberFormatter retain]; \t NSNumber * aNsNumber = [[NSNumber alloc] init]; \t aNsNumber = [numberFormatter numberFromString:text]; \t \t // NSLog(@「NSNumber的值是...%@」,aNsNumber); \t NSString * returnString = [NSString stringWithString:[numberFormatter stringForObjectValue:aNsNumber]]; \t \t if(isLacale){ \t \t return returnString; \t} \t else { \t \t return [NSString stringWithFormat:@「%lf」,[aNsNumber doubleValue]]; \t} } – 2010-07-02 06:49:42
aNSNumber在文本字段中輸入4個數字後,當您輸入第5個數字到文本字段並嘗試調用此formatText方法後,4.0中變爲null,aNsNumber在4.0中變爲null,但在3.0中變爲3.1.3它工作正常.... – 2010-07-02 06:51:48