gpt4 book ai didi

ios - NSNumberFormatter 添加和删除小数

转载 作者:行者123 更新时间:2023-11-29 10:51:13 25 4
gpt4 key购买 nike

处理整数、NSString 和 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?

最佳答案

使用 -numberFromString 函数从字符串中获取 NSNumber,然后使用 NSNumber 类中的 intValue 获取整数值:

NSString *string = @"1,000";
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *number = [formatter numberFromString:string];
int intValue = [number integerValue];// intValue = 1000

关于ios - NSNumberFormatter 添加和删除小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com