代码之家  ›  专栏  ›  技术社区  ›  Pradeep Reddy Kypa

iPhone4.0中的nsNumberFormatter工作异常

  •  0
  • Pradeep Reddy Kypa  · 技术社区  · 15 年前

    我正在开发一个应用程序,我需要在3.0和4.0中运行我的应用程序。我有一个textfield,当我试图在textfield中输入数字时,行为是这样的… 在3.0中: 它允许输入7位数字和2个小数(我已经这样格式化了它)。我已经根据所选国家对数字进行了格式化和本地化,以及逗号分隔。它在3.0和3.1.2中运行良好

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

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

    我不明白为什么会这样…请帮帮我…

    1 回复  |  直到 15 年前
        1
  •  0
  •   DerekD    15 年前

    我在这个网站的另一个问题上做了一些工作。据我所见,当文本有空格或逗号(例如每3位数字)时,nsnumberFormatter有时会出现问题。当它找到一个空格时,它返回了零。但是,在我的代码的另一个方面,它似乎工作正常

    我也有同样的问题。我跟踪到一个nsnumberFormatter语句,它不喜欢数字中每3位数都有空格(或逗号)。这是使用数字格式化程序的原因之一。

    nsnumber*number=[currencyFormatter numberFromString:mstring];

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

    不管怎么说,我把它修好了

    nsarray*sarray=[mstring componentsseparatedbystring:@“”];[mstring setstring:@“”];//开头的空格可以,对于(nsstring*selement in sarray)[mstring appendstring:selement];将首选nil;

    然后,currencyformatter行工作了。

    但是,在我的代码的另一个方面,相同的currencyformatter语句没有问题。我试图更改该区域的代码以引起问题,但我不能。

    所以,非常好奇!!!Derek Makeitsosudios.com网站

    推荐文章