如何检查 NSString 是否包含数字值?

2024-03-27

我有一个从公式生成的字符串,但是我只想使用该字符串,只要它的所有字符都是数字,如果不是,我想做一些不同的事情,例如显示错误消息。

我一直在环顾四周,但发现很难找到任何符合我想做的事情。我看过 NSScanner 但我不确定它是否检查整个字符串,然后我实际上不确定如何检查这些字符是否是数字

- (void)isNumeric:(NSString *)code{

    NSScanner *ns = [NSScanner scannerWithString:code];
    if ( [ns scanFloat:NULL] ) //what can I use instead of NULL?
    {
        NSLog(@"INSIDE IF");
    }
    else {
    NSLog(@"OUTSIDE IF");
    }
}

因此,经过几个小时的搜索,我偶然发现了一个完全符合我所寻找的实现。

所以如果你想检查它们是否是你的 NSString 中的任何字母数字字符,这里可以使用

-(bool) isNumeric:(NSString*) hexText
{

    NSNumberFormatter* numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];

    NSNumber* number = [numberFormatter numberFromString:hexText];

    if (number != nil) {
        NSLog(@"%@ is numeric", hexText);
        //do some stuff here      
        return true;
    }

    NSLog(@"%@ is not numeric", hexText);
    //or do some more stuff here
    return false;
}

希望这可以帮助。


像这样的事情会起作用:

@interface NSString (usefull_stuff)
- (BOOL) isAllDigits;
@end

@implementation NSString (usefull_stuff)

- (BOOL) isAllDigits
{
    NSCharacterSet* nonNumbers = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    NSRange r = [self rangeOfCharacterFromSet: nonNumbers];
    return r.location == NSNotFound && self.length > 0;
}

@end

然后像这样使用它:

NSString* hasOtherStuff = @"234 other stuff";
NSString* digitsOnly = @"123345999996665003030303030";

BOOL b1 = [hasOtherStuff isAllDigits];
BOOL b2 = [digitsOnly isAllDigits];

您不必像这样将功能包装在私有类别扩展中,但它确实使重用变得容易。

我比其他解决方案更喜欢这个解决方案,因为它永远不会溢出通过 NSScanner 扫描的一些 int/float - 位数几乎可以是任何长度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 NSString 是否包含数字值? 的相关文章

  • 如何将任意颜色的色度键滤镜应用到实时摄像头源ios?

    基本上我想将色度键滤镜应用到 ios 实时摄像头源 但我希望用户选择将被另一种颜色替换的颜色 我找到了一些使用绿屏的示例 但我不知道如何动态替换颜色而不仅仅是绿色 知道如何以最佳性能实现这一目标吗 您之前曾询问过我的情况GPUImage h
  • 尝试了解CMTime

    我见过一些examples https stackoverflow com questions 5808557 avassetwriterinputpixelbufferadaptor and cmtime of https stackov
  • 点击后退按钮时,iCarousel 会显示在上一页

    当我按下后退按钮时 这iCarousel仍然显示 1 秒 为什么会发生这种情况以及如何阻止这种情况 我已经使用故事板创建了 iCarosel 视图 void viewDidUnload super viewDidUnload self ca
  • 如何在iOS应用程序中实现信号量?

    是否可以在ios应用程序中实现计数信号量 对的 这是可能的 有很多可用的同步工具 同步 NSLock NS条件 NS条件锁 GCD 信号量 并行线程锁 我建议阅读 线程编程指南 http developer apple com librar
  • Android 和 IOS 是否可以在后台发送短信?

    我想制作一个应用程序 其主要功能取决于发送短信 在我开发 android native 之前 但现在我使用 React Native 来为 IOS 和 Android 制作它 在 Android 中 如果获得用户许可 可以在后台发送短信 但
  • UIButton 触摸事件落入底层视图

    我创建了一个小UIView其中包含两个UIButton是 视图响应UITapGesture事件 按钮应该响应TouchUpInside 但是当我点击按钮时 响应者是底层视图 并且点击手势选择器被触发 寻找意见或建议 您可以修改橙色视图中响应
  • 如果部署目标 < 基础 sdk,如何检查是否使用了不可用的方法?

    我想知道当部署目标低于基础 SDK 时 您如何检查代码是否不调用不可用的方法 可以在 SDK 等于部署目标的设备上运行应用程序 但我搜索一种更 自动 的方式 任何想法 问候 昆汀 最简单的方法是使用 IPHONE OS VERSION MA
  • 更快地估计 CollectionView 中单元格高度的方法

    我的 UICollectionView 中有一个无限滚动 我注意到我估计单元格高度的方式是我的集合视图的瓶颈 我滚动收藏视图的次数越多 它就会导致一些长时间的延迟 有没有更好的方法来估计单元格的高度 这些单元格有不同的高度 因为我有一个UI
  • 在实现文件中声明接口(Objective-C)

    在上一个版本的 xCode 4 3 中 我看到了预定义模板 例如我们的 Master Detail 模板 其中接口声明是在 m 文件中进行的 例如 在文件 MyFile h 中有 interface MyFile property nona
  • 为什么这会破坏 UILabel adjustmentFontSizeToFitWidth?

    iOS 7 Xcode 5 使用 UILabel 此代码可以工作 自动调整文本大小以适应 self testLabel numberOfLines 0 self testLabel lineBreakMode NSLineBreakByWo
  • 使用 facebook connect for iPhone 上传照片的记录流程

    看完之后 我确实在 Facebook 论坛上看到了这篇文章 link http forum developers facebook com viewtopic php id 30467 他们正在向 facebook 对象提供 UIImage
  • 从核心数据存储创建 .sqlite 文件?

    我在书籍和提供 sqlite 文件下载的网站上看到过教程 sqlite 文件用于核心数据 如何获取 sqlite 文件FROM应用程序或核心数据存储TO我的桌面 如果您要创建一个预填充的 sqlite 文件以与 Core Data 一起使用
  • NSURLSessionDownloadTask 出现存储几乎已满磁盘警告的问题

    我在使用 NSURLSessionDownloadTask 处理 ios 上的 空间不足 磁盘已满 错误时遇到问题 如果由于应用程序中完成下载而导致磁盘已满 我会接到电话 URLSession 会话 NSURLSession 任务 NSUR
  • 使用 Xcode 6 和(可能)cocoapods 生成错误

    在构建使用 cocoapods 和最新 Xcode 6 GM 版本的 iOS 项目时 我收到以下静态分析器错误 error error reading pic error no analyzer checkers are associate
  • 在 iPhone 5 的横向模式下启动启动画面

    我们的通用应用程序仅适用于横向模式 我们需要为 iPhone 4 和 iPhone 5 添加启动画面 对于 iPhone 5 的肖像 我们使用 email protected cdn cgi l email protection 如何为 i
  • PreferredInterfaceOrientationForPresentation 必须返回受支持的界面方向 (iOS 6)

    我的应用程序窗口的根视图控制器是 UINavigationController 的子类 我已将此代码添加到类中 BOOL shouldAutorotate return self topViewController shouldAutoro
  • 如何使用自定义布局跳转到 UICollectionView 中的任何 Cell?

    我的水平 UICollectionView 中有 40 个单元格和一个按钮 当我点击按钮时 我可以从 5 号单元格跳转到 10 号单元格 但是一旦我想要转到另一个单元格 例如从 5 到 25 它不起作用 而是变为 0 code func s
  • AVPlayerLooper 每次迭代后黑闪

    我正在使用 Apple 的示例代码在UICollectionViewCell背景 我在用着AVPlayerLooper 因为它是同一视频的迭代 我的问题是 当视频结束时 它会显示轻微的黑屏闪烁 也许它正在将视频搜索到0时间 我不确定 这是代
  • GIDSignIn 在提示前指定范围

    我在 iOS 上升级到 GoogleSignIn 6 0 但找不到在登录时指定登录范围的方法 我只能看到一个名为 addScopes 的 API 我可以在基本登录后指定范围 但这会导致两个单独的登录提示 这很奇怪 之前 我们可以简单地指定登
  • 使用 twitterkit 将图像发布到 Twitter

    我正在尝试使用 Twitter 的新 TwitterKit 和自定义 UI 发布图像和推文 他们提供的唯一文档是如何用他们的观点来做这件事 所以我可以弄清楚如何在没有图像的情况下做到这一点 NSMutableDictionary messa

随机推荐

  • c、unix 中的睡眠函数

    我需要导入什么才能在unix中使用睡眠功能 我知道windows 是windows h 但是unix 呢 它应该位于 unistd h 中 请注意 这只能提供整数秒的精度 亚秒精度最便携的方法应该是 ab 使用 select
  • node.js:在全局范围内使用“this”令人困惑

    我最近一直在玩弄node js 并且遇到了关于使用的奇怪行为this在模块的全局范围内 this在全局范围内绑定到 module exports console log this exports gt true But this在方法范围内
  • 模块“QtQuick.Dialogs”版本 1.3 未安装

    我正在尝试在运行 1 2 版时没有任何问题的代码中导入 QtQuick Dialogs 1 3 版 但是在运行时我收到以下错误 模块 QtQuick Dialogs 版本 1 3 未安装 我正在使用默认的 Desktop Qt 5 9 2
  • 如何安全地读取 ASP.NET 中的流?

    byte bytes new byte uploader UploadedFiles 0 InputStream Length uploader UploadedFiles 0 InputStream Read bytes 0 bytes
  • Eclipse makefile 构建速度很慢...是什么原因?

    我们是 Eclipse 的狂热粉丝 这太棒了 但我们有大约 40 个 C 项目 并且还在不断增长 当所有项目都是最新的时 构建所有这些项目大约需要半分钟 总共 如果我只是创建一个对所有 40 个项目执行 make all 的 bash 脚本
  • 为什么 golang 左移 64 位不会溢出?

    我正在看围棋之旅 https tour golang org basics 11我对 basic types go 示例中的某些内容感到困惑 MaxInt uint64 1 lt lt 64 1 在无符号 64 位整数中向左移动 1 64
  • React 测试库:何时使用 userEvent.click 以及何时使用 fireEvent

    我目前正在学习 React Testing Library 我想测试鼠标与元素的交互 目前我还不清楚 userEvent click element 和 fireEvent click element 之间的区别 两者都建议使用吗 在下面的
  • 无法连接到生产 Apple 推送通知服务器

    我们使用开发认证和 gateway sandbox push apple com 向配置的设备发送通知没有任何问题 但现在我们的应用程序已在商店中 看来我们甚至无法连接到生产 apn 服务器 gateway push apple com 来
  • Android singletop 单实例和单任务

    我在为不同的活动实现不同类型的启动模式时遇到设计问题 我有 5 项活动 视频列表 视频详情 收藏夹列表 视频搜索 视频播放器 当用户启动应用程序时 它会转到显示视频列表的 VideoList 单击任何视频会将它们带到视频详细信息 该页面中有
  • 使用 JSoup 提取 HTML 表格内容

    如何提取位于以下位置的表的内容 id 2 year 2012 acc conference gt http espn go com mens college basketball conferences stands id 2 year 2
  • 如何使用EMGU CV获取人脸识别的置信度值?

    我正在开发一个项目 其中我应该设计一个应用程序 可以检测路过的人的所有面孔 我有一个非常大的数据库 其中包含几个已知的人 我使用 EigenObjectRecognizer 来识别图像网络摄像头捕获的帧 但问题是有时它会错误地识别某些人 因
  • 如何使用 apply、map 或 applymap 查找 pandas dataframe 中的每一行和每一列数据类型?

    我有如图所示的数据框 我希望每行和列的数据类型都使用 apply map applymap 如何获取这个数据类型 有些列具有混合数据类型 如突出显示的 例如list 和 str 有些有 list 和 dict 示例 pandas 数据框 1
  • 有没有办法在参数替换后从 SqlCommand 获取完整的 sql 文本?

    我创建了一个带有包含参数的 SQL 查询的 SqlCommand 然后我将所有参数添加到类中 在将 SQL 查询发送到数据库之前 是否有一种简单的方法可以查看生成的 SQL 查询 这对于调试目的来说会很方便 例如 复制整个查询并在管理工作室
  • main.cpp:(.text+0x5f): 未定义的引用

    我尝试从 SDL 指南中编写一些练习 我这样编译 g o main main cpp I usr local include SDL2 L usr local lib lSDL2 我得到这个 tmp cci2rYNF o In functi
  • ASP.Net MVC:如何读取我的自定义声明值

    请参阅下面的代码 我知道通过这种方式我们可以将自定义数据添加到索赔中 但现在的问题是如何读回这些值 假设我想读回索赔价值电子邮件和电子邮件2请告诉我需要编写什么代码来读回索赔值电子邮件和电子邮件2 UserManager
  • 如何每秒运行一个 Runnable 来更新 UI

    我正在尝试在 kotlin android 中编写代码以每秒移动一个图像 但我无法使其工作 现在我正在使用Timer安排一个Timer Task每秒 但它没有按预期工作 这是我的代码 class Actvt Image
  • 使用 Google Pretify 显示 HTML

    为了让 Google Prettify 正确显示 HTML 代码示例 您应该替换所有 lt with lt 和所有的 gt with gt 如何仅使用 JavaScript 来自动化该过程 如果您将代码放入
  • 使用 Oracle SQL Developer 查询两个数据库

    有没有办法在 Oracle SQL Developer 中查询两个数据库 在单个查询中 我对 Oracle 不太熟悉 无论如何 除了标准的 CRUD 语法 我正在尝试从 SQL Server 表插入 Oracle 表 想做这样的事情 INS
  • 使用 CSS 显示徽标的正确方法是什么?

    我最近一直在学习CSS 我正在观看的教程系列说显示徽标图像的最佳方法是将文本包装在H1标签中 然后将该标签的CSS样式设置为背景图像 并带有文本缩进 99999 或类似的大数字 这看起来非常粗俗和不优雅 对于 SEO 目的来说 使用 CSS
  • 如何检查 NSString 是否包含数字值?

    我有一个从公式生成的字符串 但是我只想使用该字符串 只要它的所有字符都是数字 如果不是 我想做一些不同的事情 例如显示错误消息 我一直在环顾四周 但发现很难找到任何符合我想做的事情 我看过 NSScanner 但我不确定它是否检查整个字符串