【发布时间】:2026-02-04 12:10:01
【问题描述】:
处理整数、NSStrings 和 NSNumberFormatter 的最佳方法是什么?
我有一个带有 UITextField 的应用程序,用户可以在其中输入数字。通过 UITextField 中的每一次更改,我的应用程序会立即获取输入,将其放入我的函数中进行计算,并将结果输出到 UILabel。
人们可以在这里处理大量数字,所以为了让他们更容易阅读他们的输入是什么,我决定让这成为可能,以便输入在他们插入后立即更改。
例如,当您输入 1000 时,它会自动变为 1,000。当您输入 100000000000 时,它会自动变为 100,000,000,000 等。
这是我自己能够做到的,像这样:
formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
self.inputField.text = [formatter stringFromNumber:[formatter numberFromString:self.inputField.text]];
也许不是最好的方法,但它确实有效。
我的函数需要一个 int 作为输入,所以直到 999 这很容易:我可以执行以下操作:
[self.inputField.text integerValue];
它可以工作
但每当我的 UITextField 中有 1000 或更高时,self.inputField.text 属性将为 1,000 .. 然后使用其中的 integerValue 会出现问题。
所以我的问题是,当其中有小数时,如何从 NSString 回到 int ?
【问题讨论】:
标签: ios decimal nsnumberformatter