NSNumberFormatter在iPhone 4.0中工作很奇怪

时间:2010-06-30 06:43:54

标签: ios4 nsnumberformatter

我正在开发一个应用程序,我需要在3.0和4.0中运行我的应用程序。我有一个文本字段,当我尝试在文本字段中输入数字时,行为就像这样...... 在3.0: - 它允许输入7位数和2个小数值(我已将其格式化为这样)。我根据所选国家/地区对数字以及逗号分隔进行了格式化和本地化。它在3.0和3.1.2

中完美运行

IN 4.0: - 它允许您只输入4个数字,输入第5个数字后,它使文本字段为空。当您输入第5个数字时没有显示任何内容,当您输入第6个数字时,它从第1个数字开始并继续相同直到4个数字。 例如: - 当你输入1234时,显示文本字段 - 1234,当你输入12345时,文本字段显示为“”。当你现在输入6时,它以6开始,依此类推......

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

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

1 个答案:

答案 0 :(得分:0)

我在本网站的另一个问题上做了一些解决方法。从我所看到的,当文本有空格或逗号(例如,每3个数字)时,NSNumberFormatter有时会出现问题。当它找到一个空间时,它返回了NIL。但是,在我的代码的另一个区域,它似乎工作正常

0

我遇到了同样的问题。我将其跟踪到NSNumberFormatter语句,该语句不喜欢数字中每3位数字的空格(或逗号)。这是使用数字格式化程序的原因之一。

NSNumber * number = [currencyFormatter numberFromString:mstring];

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

无论如何,我通过摆脱空间来修复它

NSArray * sArray = [mstring componentsSeparatedByString:@“”]; [mstring setString:@“”]; //开头的空格没问题,更喜欢nil(sArray中的NSString * sElement){[mstring appendString:sElement]; }

然后货币格式线工作。

但是,在我的代码的另一个区域,同样的currencyFormatter语句没有问题。我尝试更改该区域中的代码以导致问题,但我不能。

所以,非常好奇!!! Derek MakeItSoSudios.com