Java判断一个字符串为数字(正负、小数)

时间:2022-12-26 03:53:26 作者:小钢炮 综合材料 收藏本文 下载本文

“小钢炮”通过精心收集,向本站投稿了6篇Java判断一个字符串为数字(正负、小数),以下是小编精心整理后的Java判断一个字符串为数字(正负、小数),供大家参考借鉴,希望可以帮助到有需要的朋友。

篇1:Java判断一个字符串为数字(正负、小数)

Java判断一个字符串为数字(正负、小数)

这些天因为工作上的需求,其中一个小环节是传来一个String类型的参数,需要判断该参数是否为数字(正负、正数小数都要能判断)。

当走到这个环节时,首先想到的是isDigit方法,具体不清楚是哪个类下的了,不过查API后发现该方法不可行,它只能判断正整数。不过为了以后可能会用到该方法,所以特意写了个小程序当备用。

代码如下:

//采用Character.isDigit()方法来判断一个字符串是否为数字 //局限性很大,只能判断全是数字的`字符串 char[] strArr = str.toCharArray(); int count = 0; for(int i = 0; i < strArr.length; i++) { if(Character.isDigit(strArr[i]) == false) { count++; } } if(count >0) { System.out.println(“Is not Number!”); } else { System.out.println(“Is Number!” + str); }

后来通过百度,又找到了另外两种方法,一种是通过强制类型转换的方式,一种就是正则表达式了。

对于强制类型转换的方式,代码可以这样写:

//采用强制类转换来判断一个字符串是否为数字//有局限性,如果要判断是int型或double型,就必须要调整转换语句,但可以判断正负try { //Integer num = Integer.valueOf(str); Double num2 = Double.valueOf(str); //System.out.println(“Is Number!” + num); System.out.println(“Is Number!” + num2);} catch (Exception e) { System.out.println(“Is not Number!”);}

最后能解决我问题的,还是通过正则表达式的方式了。

代码如下:

//采用正则表达式的方式来判断一个字符串是否为数字,这种方式判断面比较全 //可以判断正负、整数小数 Boolean strResult = str.matches(“-?[0-9]+.*[0-9]*”); if(strResult == true) { System.out.println(“Is Number!”); } else { System.out.println(“Is not Number!”); }

通过这次的问题,我也发现了自身的不足。正则表达式确实很牛,但是我对它的认识,还停留在了解阶段。所以后续工作中,一定要有意识的多去学习它,使用它。

篇2:Shell脚本计算字符串长度和判断字符串为空小技巧

这篇文章主要介绍了Shell脚本计算字符串长度和判断字符串为空小技巧,本文分别给出计算字符串长度和判断字符串为空各3种实现方法,需要的朋友可以参考下

一些需要注意的脚本问题

计算字符串长度可用的三种方法:

代码如下:

echo “$str”|awk ‘{print length($0)}‘

expr length “$str”

echo “$str”|wc -c

但是第三种得出的值会多1,可能是把结束符也计算在内了

判断字符串为空的方法有三种:

代码如下:

if [ “$str” = “” ]

if [ x“$str” = x ]

if [ -z “$str” ]

注意:都要代双引号,否则有些命令会报错,

Shell脚本计算字符串长度和判断字符串为空小技巧

篇3:判断一个int型数字是否是自守数

自守数

如果某个数的平方的末尾几位数等于这个数,那么就称这个数为自守数,

显然,5和6是一位自守数(5x5=25 6x6=36),25x25=625 76x76=5776,所以25和76是两位自守数。

详细描述:

接口说明

原型:

Public static boolean isAutoMorphicNum( int num)

输入参数:

num 需要判断的数

输出参数(指针指向的内存区域保证有效):

返回值:

true 是自守数

false 不是自守数

涉及知识点:

JAVA语言基础:数字处理

我写的程序:

public static boolean isAutoMorphicNum(int num) { /*在这里实现功能*/ String input = num + “”; String power = num * num + “”; System.out.println(num * num); if (input.equals(power.substring(power.length - input.length()))) { return true; } return false; }

我自己的测试用例:

public void testCase01() { assertEquals(Demo.isAutoMorphicNum(0),true); assertEquals(Demo.isAutoMorphicNum(1),true); assertEquals(Demo.isAutoMorphicNum(5),true); assertEquals(Demo.isAutoMorphicNum(6),true); assertEquals(Demo.isAutoMorphicNum(25) ,true); assertEquals(Demo.isAutoMorphicNum(76) ,true); assertEquals(Demo.isAutoMorphicNum(376) ,true); assertEquals(Demo.isAutoMorphicNum(625) ,true); assertEquals(Demo.isAutoMorphicNum(9376) ,true); assertEquals(Demo.isAutoMorphicNum(10), false); assertEquals(Demo.isAutoMorphicNum(100) ,false); assertEquals(Demo.isAutoMorphicNum(999999999) ,false); }

我自己的测试用例都是能通过的,但是提交至答题系统后,系统测试说有一个测试用例不通过:

关于负数和最大的int的数我已经测试过了,输入的数是否是负数对系统的判别结果不影响,即貌似负数不可能是自守数,当输入为最大int值:999999999时,我的程序也能判断出结果,即为false(不是自守数),

我不知道我还有哪种情况没有考虑到,求帮忙。

篇4:将字符串转化为时间,犯了一个低级错误

今天犯了了个很低级的错误,想把UIDatePickView的默认选中时间设置为当前时间的下一天的11:30,我的思路:首先获取当前时间---将当前时间字符串化-----截取次字符串,分理处当前的年月日中得日----将日+1----然后字符串拼接成自己想要的日期格式-------将拼接成的日期转化成NSDate-------然后设置默认时间

我犯的错误,将字符串转化为时间的时候,一直想象NSDate的会有这样的方法,结果查看NSDate的API没有查到,犯错就是没有第一时间想到:NSDateFormatter.

下面看看我设置的代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

UIDatePicker * pick = [[UIDatePicker alloc] initWithFrame.:CGRectMake(0, self.view.frame.size.height-215, 320, 215)];

pick.minimumDate = [NSDate date];

NSDate * tempDate = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

NSString * str = [NSString stringWithFormat:@“%@”,tempDate];

NSString * result = [[str substringWithRange:NSMakeRange(0, 10)] stringByAppendingFormat:@“ 11:30”];

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSDate * resultDate = [formatter dateFromString:result];

[pick setDate:resultDate];

[pick addTarget:self action:@selector(pickValueChanged:) forControlEvents:UIControlEventValueChanged];

self.datePicker = pick;

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@“zh_CN”];//设置为中文显示

pick.locale = locale;

[self.view addSubview:pick];

if (IPhone5)

{

self.bgView.frame. = CGRectMake(0, -10, 320, self.view.frame.size.height);

}

else

{

self.bgView.frame. = CGRectMake(0, -60, 320, self.view.frame.size.height);

}

#pragma mark - pick事件

-(void)pickValueChanged:(UIDatePicker *)aPick

{

if ([aPick.date timeIntervalSinceDate:[NSDate date]]<0)

{

NSDate * tempDate = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

NSString * str = [NSString stringWithFormat:@“%@”,tempDate];

NSString * result = [[str substringWithRange:NSMakeRange(0, 10)] stringByAppendingFormat:@“ 11:30”];

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSDate * resultDate = [formatter dateFromString:result];

[aPick setDate:resultDate];

}

else

{

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSString* dateStr = [dateFormatter stringFromDate:aPick.date];

NSString * tempStr = [dateStr substringToIndex:16];

self.text_time.text = tempStr;

}

}

UIDatePicker * pick = [[UIDatePicker alloc] initWithFrame.:CGRectMake(0, self.view.frame.size.height-215, 320, 215)];

pick.minimumDate = [NSDate date];

NSDate * tempDate = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

NSString * str = [NSString stringWithFormat:@“%@”,tempDate];

NSString * result = [[str substringWithRange:NSMakeRange(0, 10)] stringByAppendingFormat:@“ 11:30”];

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSDate * resultDate = [formatter dateFromString:result];

[pick setDate:resultDate];

[pick addTarget:self action:@selector(pickValueChanged:) forControlEvents:UIControlEventValueChanged];

self.datePicker = pick;

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@“zh_CN”];//设置为中文显示

pick.locale = locale;

[self.view addSubview:pick];

if (IPhone5)

{

self.bgView.frame. = CGRectMake(0, -10, 320, self.view.frame.size.height);

}

else

{

self.bgView.frame. = CGRectMake(0, -60, 320, self.view.frame.size.height);

}

#pragma mark - pick事件

-(void)pickValueChanged:(UIDatePicker *)aPick

{

if ([aPick.date timeIntervalSinceDate:[NSDate date]]<0)

{

NSDate * tempDate = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

NSString * str = [NSString stringWithFormat:@“%@”,tempDate];

NSString * result = [[str substringWithRange:NSMakeRange(0, 10)] stringByAppendingFormat:@“ 11:30”];

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSDate * resultDate = [formatter dateFromString:result];

[aPick setDate:resultDate];

}

else

{

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@“yyyy-MM-dd HH:mm”];

NSString* dateStr = [dateFormatter stringFromDate:aPick.date];

NSString * tempStr = [dateStr substringToIndex:16];

self.text_time.text = tempStr;

}

篇5:Shell脚本中判断变量为数字的3种方法

这篇文章主要介绍了Shell脚本中判断变量为数字的3种方法,本文分别介绍了expr、sed两种方法,并给出了一个判断脚本,需要的朋友可以参考下

方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值

代码如下:

expr $args + 0 &>/dev/null

方法2:打印变量通过sed替换的方式,将变量中的数字替换为空,如果执行替换后变量为空,则为整数

代码如下:

echo $args | sed ‘s/[0-9]//g‘

如果判断负数则再用sed过滤负号

代码如下:

echo $args | sed ‘s/[0-9]//g‘ | sed ‘s/-//g‘

下面的脚本通过两个函数来实现数值判断,代码很简单,就不加注释了。

代码如下:

#!/bin/bash

usage{

cat <

USEAGE:sh $0args1 args2

exit 1

EOF

}

checkInt(){

expr $1+ 0&>/dev/null

[ $? -ne 0] && { echo “Args must be integer!”;exit 1; }

}

checkInt1(){

tmp=`echo $1|sed ‘s/[0-9]//g‘`

[ -n “${tmp}”]&& { echo “Args must be integer!”;exit 1; }

}

[ $# -ne 2]&&usage

args1=$1

args2=$2

checkInt $args1

checkInt1 $args2

if[ $args1 -gt $args2 ];then

echo “yes,$args1 greate than $args2”

else

echo “no,$args1 less than $args2”

fi

篇6:Python检测一个对象是否为字符串类的方法

这篇文章主要介绍了Python检测一个对象是否为字符串类的方法,即检测是一个对象是否是字符串对象,本文还讲解了一个有趣的判断方法,需要的朋友可以参考下

目的

测试一个对象是否是字符串

方法

Python的字符串的基类是basestring,包括了str和unicode类型,一般可以采用以下方法:

代码如下:

def isAString(anobj):

return isinstance(anobj,basestring)

不过以上方法对于UserString类的实例,无能无力。

代码如下:

In [30]: b=UserString.UserString(‘abc‘)

In [31]: isAString(b)

Out[31]: False

In [32]: type(b)

Out[32]:

Python中常用的鸭子判断法:如果它走路像鸭子,叫声像鸭子,就可以认为它是鸭子了。

代码如下:

def isStringLike(anobj):

try:

anobj.lower() + anobj + ‘ ‘

except:

return False

else:

return True

测试结果如下:

代码如下:

>>>import UserString

>>>b=UserString.UserString(‘abc‘)

>>>isStringLike(b)

True

>>>

关于风格

根据自己的语气去执行任务,在此过程中检测并处理由于不匹配产生的所有错误和异常,

这种处理方式称为:

代码如下:

EAFP:It‘s easier to ask forgiveness than permission.

try/except是保证该风格的关键工具。

八卦一下,关于UserString类

对于2.X版本:Python文档中提到,如果不涉及到2.2以前的版本,请考虑直接使用str类型来代替UserString类型。

对于3.X版本:该模块已经移到collection模块中。

该类主要有两种方法:

代码如下:

class UserString.UserString([sequence])

具体使用前面已经举例,注意可以使用str()转化为str类型

代码如下:

class UserString.MutableString([sequence])

字符串也可以变哦!Look here:

代码如下:

a=UserString.MutableString(‘abc‘)

a[0]=‘c‘

In [10]: a

Out[10]: ‘cbc‘

Python文档上有行黑体字,原来已经是弃用的方法,3.0就没有了:

代码如下:

Deprecated since version 2.6: The MutableString class has been removed in Python 3.0.

不只是一个数字作文

不只是一个数字作文600字

PHP基础教程 字符串

java自荐信

java年度工作总结

java个人简历

Python3字符串学习教程

判断的近义词

个人年度工作总结java

Java面试题和答案

Java判断一个字符串为数字(正负、小数)(整理6篇)

欢迎下载DOC格式的Java判断一个字符串为数字(正负、小数),但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档