ios - 如何确定 TextField 是否包含数字字符串?

标签 ios introspection nsnumber

我从 TextField 中获取一个值,我需要检查其中是否有数字。是 float 还是整数并不重要,但绝对是“数字”

我怎样才能捕获这个?

这就是我目前所做的 - 即使 obj 是 123(实际上是一个数字),条件为假,所以我无法进入 if。我已经尝试过 NSValueData,但结果相同。

id obj = self.textArea.text;

if ([obj isKindOfClass:[NSNumber class]]) {
    self.weight = [NSNumber numberWithFloat:([self.textArea.text floatValue])];

最佳答案

文本字段的 text 将始终是 NSString,因为这是类的设计方式。

然后,您的任务是将其转换为 NSNumber。最好的方法是使用这样的数字格式化程序:

NSNumberFormatter *formatter = [NSNumberFormatter new];
self.weight = [formatter numberFromString:self.textArea.text];
if (!self.weight) {
    // No valid number was found.
}

关于ios - 如何确定 TextField 是否包含数字字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355781/

相关文章:

python - scipy:哪些发行版实现了 "fit"函数?

ios - NSExtensionContext openURL 不起作用

actionscript-3 - 在 Actionscript 3.0 中读取包下的所有类或读取具有相同元数据的类

android - React-Native 弹性盒重叠所需的最小高度?

python - 如何在 Python 中使用 GExiv2 读取相机品牌和型号

objective-c - NSNumberFormatter 科学形式输出

ios - 将 NSArray 中的所有值相加并求平均值

iphone - iOS 中的自动图像方向

ios - 在 TableView 中按下自定义按钮后重新加载整个 ViewController