2010-06-30 40 views
0

我正在开发一个应用程序,我需要运行我的应用程序都在3.0和4.0。我有一个文本框,当我尝试在文本框中输入数字时,行为就像这样... IN 3.0: - 它允许输入7位数字和2个小数值(我已经像这样格式化)。根据选择的国家,我已经格式化和定位了数字以及逗号分隔。它在3.0和3.1.2完美工作NSNumberFormatter工作奇怪的iPhone 4.0

IN 4.0: - 它允许你只输入4个数字,输入第5位数字后,它使文本字段为空。当你输入第5个数字时,当你输入从第一个数字开始的第六个数字并继续相同的直到4个数字。 例如: - 当你输入1234,文本字段出现 - 1234,当你输入12345时,文本字段出现“”。当你输入6现在它以6开头,依此类推。

我正在使用NSNumberFormatter和numberfromstring方法来格式化在文本字段中输入的值。

我无法理解为什么会发生这样的...请帮我...

回答

0

我给了一些工作,围绕在这个网站的其他问题。从我可以看到的NSNumberFormatter有时有问题时,文本有空格或逗号(例如每3位数字)。它发现空间时返回NIL。但是,在我的代码中的另一个区域,它似乎工作确定

我有同样的问题。我将其追踪到一个NSNumberFormatter语句,它不像数字中每3位数字的空格(或逗号)。这是拥有数字格式化程序的原因之一。

NSNumber * number = [currencyFormatter numberFromString:mstring];

这是在互联网上的很多例子中相当标准的代码,所以我怀疑很多人会发现这个问题。

无论如何,我通过摆脱的空间的固定它

的NSArray * sArray = [mstring componentsSeparatedByString:@”“]; [mstring setString:@“”]; //开头的空格是OK,宁愿NIL(sArray中的NSString * sElement){[mstring appendString:sElement]; }

然后currencyFormatter行工作。

但是,在我的代码的另一个区域,相同的currencyFormatter语句没有问题。我试着改变区域中的代码来引起问题,但我不能。

所以,非常好奇!德里克MakeItSoSudios.com