判断NSString是否为数字

本文提供了两个用于验证字符串是否为整数或浮点数的方法。通过使用NSScanner进行扫描,可以判断给定的字符串是否完全由一个整数值或浮点数值组成。

IPhone之判断是否为数字

 

源自:http://blog.sina.com.cn/s/blog_4adf31ea0100nw3t.html

 

判断是否为整形:

 

 

- (BOOL)isPureInt:(NSString *)string{

NSScanner* scan = [NSScanner scannerWithString:string]; 

int val; 

return [scan scanInt:&val] && [scan isAtEnd];

}

 

 

 

 

判断是否为浮点形:

 

 

- (BOOL)isPureFloat:(NSString *)string{

NSScanner* scan = [NSScanner scannerWithString:string]; 

float val; 

return [scan scanFloat:&val] && [scan isAtEnd];

}

 

 

不同的编程语言有不同的判断字符串是否为全数字的方法,以下是几种常见编程语言的实现方式: ### Java 在 Java 中可以使用正则表达式来判断字符串是否为全数字,示例代码如下: ```java public class Main { public static boolean isNumeric(String str) { return str.matches("-?\\d+(\\.\\d+)?"); } public static void main(String[] args) { System.out.println(isNumeric("123")); System.out.println(isNumeric("123abc")); } } ``` ### JavaScript 在 JavaScript 中可以使用 `isNaN` 和 `parseFloat` 结合的方法来判断,示例代码如下: ```javascript function isNumeric(value) { return!isNaN(parseFloat(value)) &&!isNaN(value); } console.log(isNumeric("+123.12")); console.log(isNumeric("123abc")); ``` 也可以使用 `isFinite` 和 `parseFloat` 结合的方法: ```javascript function isNumeric(value) { return isFinite(parseFloat(value)); } console.log(isNumeric("+123.12")); console.log(isNumeric("123abc")); ``` ### C# 在 C# 中可以使用 `double.TryParse` 方法来判断,示例代码如下: ```csharp using System; class Program { static void Main() { string[] testStrings = { "67", "-90", "56.23", "-78.885", "a456", "7879_p" }; foreach (string str in testStrings) { double result; bool isNumber = double.TryParse(str, out result); Console.WriteLine($"{str} 是否数字 {isNumber}"); } } } ``` ### iOS(Objective - C) 在 iOS 的 Objective - C 中可以通过遍历字符串中的字符来判断,示例代码如下: ```objc - (BOOL)isAllNum:(NSString *)string{ unichar c; for (int i = 0; i < string.length; i++) { c = [string characterAtIndex:i]; if (!isdigit(c)) { return NO; } } return YES; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值