java怎么判断是不是是小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么判断是不是是小数相关的知识,希望对你有一定的参考价值。

请诸位帮忙,写一个正则表达式,判断字符串是否是小数,用java代码判断我已经写好了,不过正则表达式怎么写,我不知道,虚心求教。
大致的判断逻辑是,第一位可以为+-.数字,之后如果第一位是.的话,那么只能是数字,如果第一位不是.,那么可以包含一个.及任意位数字。
public static boolean isBigDecimal(String value)
char[] charArray = value.toCharArray();
int length = charArray.length;
if (length == 0)
return false;

char first = charArray[0];
// 如果不以.+-数字开头,那么不是小数
boolean net = first == '.';
if (!net && first != '+' && first != '-' && !Character.isDigit(first))
return false;

// 如果第一位有点,那么从第二位开始,只能是数字
if (net)
for (int i = 1; i < length; i++)
if (!Character.isDigit(charArray[i]))
return false;


else
// 如果第一位不是点,那么要判断,只能有一个点
for (int i = 1; i < length; i++)
first = charArray[i];
if (first == '.')
// 两个点的情况下,算错
if (net)
return false;

net = true;
else
if (!Character.isDigit(first))
return false;





return true;

参考技术A 1,^\\d+$ 是判断位正整数的
^\\d+\\.\\d+$
2,判断是否位正小数
-\\d+$:
3,判断是否位负整数
你代码里这三个用 “ | ”(或)运算符连接,表示只要是整数或者是正的小数就是true了。
4,另外可以加一句
^-\\d+\\.\\d+$ 判断是否位负的小数

按照你的要求:
Pattern pattern = Pattern.compile("^\\d+$|-\\d+$"); // 就是判断是否为整数
Pattern pattern = Pattern.compile("\\d+\\.\\d+$|-\\d+\\.\\d+$");//判断是否为小数
参考技术B contains不就可以了吗?有那么麻烦吗?
一个能够转化为float的字符串,且包含’.’的数 就是小数了吧
========
if(value == null)
return false;

try
Float.parseFloat(value);

catch(NumberFormatException e)
return false;


if(value.contains("."))
return true;

return false;
参考技术C 你这个方法有些麻烦,程序重要的是算法,有些不直接的方法就不要研究了。
public static boolean isBigDecimal(String value)

double n=Double.parseDouble(value);
int temp;
double i;
temp=(int)n;
i=n-temp;
if(i==0)

return false;

else
return true;
追问

不对的,这个问题我另外一个帖子已经解决了,你有兴趣可以去看看

追答

………………………………

本回答被提问者和网友采纳
参考技术D public static final String reg_double = "^[-\\+]?\\d+(\\.\\d+)?$";
public static boolean check(String str,String regex)
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
boolean result =m.find();
return result;

以上是关于java怎么判断是不是是小数的主要内容,如果未能解决你的问题,请参考以下文章

JS怎么判断数字里面是不是有小数点

求教java中如何判断一个数是否小数,求详

在java里怎么判断输入的东西是否数字和正整数?(请把详细的代码给我谢谢)

如何判断一个字符串是不是是数字包括小数

java怎么判断一个字符串是不是是数字

java判断数字类型(小数和整数)