Iphone NSNumberFormatter十进制样式值在我们再次转到该文本字段时会发生更改,无论是否进行编辑

Iphone NSNumberFormatter十进制样式值在我们再次转到该文本字段时会发生更改,无论是否进行编辑,iphone,objective-c,ios,xcode,ipad,Iphone,Objective C,Ios,Xcode,Ipad,下面的代码是我用来格式化TextFieldShouldEndediting中的字符串的 我在上面的代码中遇到了一个问题,第一次它正常工作,但是当我们返回到textfield,并且从它出来时,值就改变了 例如,我第一次输入的值是123456789123456789 得到了这个输出123456789123456789 现在,当我们在编辑或不编辑的情况下重新输入和退出文本字段时,我得到的值是123 提前谢谢 Bhaskar当然,因为在第一次调用后,UITextField被存储1234567891234

下面的代码是我用来格式化TextFieldShouldEndediting中的字符串的

我在上面的代码中遇到了一个问题,第一次它正常工作,但是当我们返回到textfield,并且从它出来时,值就改变了

例如,我第一次输入的值是123456789123456789 得到了这个输出123456789123456789 现在,当我们在编辑或不编辑的情况下重新输入和退出文本字段时,我得到的值是123

提前谢谢
Bhaskar

当然,因为在第一次调用后,
UITextField
被存储
123456789123456789
,而不是
123456789123456789

当您第二次调用时,
num
中的方法将被存储
123

试试这个:

替换

long long num =  [textField.text longLongValue];


当然,因为在第一次调用
UITextField
后存储的是
123456789123456789
,而不是
123456789123456789

当您第二次调用时,
num
中的方法将被存储
123

试试这个:

替换

long long num =  [textField.text longLongValue];


非常感谢,我有另一个问题,它最多只能接受18位数字,因为长值,我的要求是无限字符的格式,谢谢在advance@Bhaskar我想问你的第二期(最多18位)作为一个单独的问题,因为它不相关。非常感谢,我有另一个问题,它只接受最高18位,由于长的价值,我的要求是无限字符的格式,谢谢在advance@Bhaskar我想问你的第二个问题(最多18个数字)作为一个单独的问题,因为它不相关。
long long num =  [[formatter numberFromString:textField.text] longLongValue];