java有没有关于验证数字类型的类,如是否负小数,是否自然数等等,不要说什么自已判断 java有没有关于验证数字类型的类,如是否负小数,是否自然数等等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用正则可以,apache的commons包里面,貌似有工具类。 Integer.parseInt方法如果不是整数则抛出异常.可以返回值Double.parseDouble是检验小数的 问题是又有小数,又有整数呢。用你这方法转换后,转换不了会出错,如果用Double.parseDouble就算你给他个2,转出来也会变2.0的 apache的common包的正则与java.regex包的正则,哪个好用? 给你推荐下这个,就是在java类中使用正则表达式验证数据,使用Pattern类和Matcher类来实现验证,下边这个例子供你参考下:public class PatternTest {public void testParttern(){//表达式的功能:验证必须为数字(整数或小数)String pattern = "[0-9]+(.[0-9]+)?";//对()的用法总结:将()中的表达式作为一个整体进行处理,必须满足他的整体结构才可以。//(.[0-9]+)? :表示()中的整体出现一次或一次也不出现Pattern p = Pattern.compile(pattern);Matcher m = p.matcher("2");boolean b = m.matches();if(b){System.out.println("istrue:"+b);}}public static void main(String[] args) {PatternTest pt = new PatternTest();// pt.testFormat("2");pt.testParttern();}} 用正则 String str="要验证的数字"; if(str.trim().replaceFirst("^\\d+[.]?\\d+$", "").equals("")){ System.out.println(str+"是正数"); } if(str.trim().replaceFirst("^-\\d+[.]?\\d+$", "").equals("")){ System.out.println(str+"是负数"); } if(str.trim().replaceFirst("\\d+", "").equals("")){ System.out.println(str+"是整数"); } if(str.trim().replaceFirst("^(-)?\\d+[.]+\\d+$", "").equals("")){ System.out.println(str+"是小数"); } eclispe中Date作为类使用时该怎么用 求解,求解 关于 multithreat io流截取视频的问题 java中toString()问题 为什么不能改变JavaScript内置类Number.MAX_VALUE 面试题 请教String类型的转义字符表达与SQL语句。 帮忙看看这个数组的问题! 请问:this是什么? 用Java如何在有菜单和按钮的情况下显示JPG图形文件(要求有垂直和水平的滚动条),而菜单和按钮仍可见???? 菜鸟求助 网络测试
apache的commons包里面,貌似有工具类。
Double.parseDouble是检验小数的
问题是又有小数,又有整数呢。用你这方法转换后,转换不了会出错,如果用Double.parseDouble
就算你给他个2,转出来也会变2.0的
public class PatternTest {public void testParttern(){
//表达式的功能:验证必须为数字(整数或小数)
String pattern = "[0-9]+(.[0-9]+)?";
//对()的用法总结:将()中的表达式作为一个整体进行处理,必须满足他的整体结构才可以。
//(.[0-9]+)? :表示()中的整体出现一次或一次也不出现
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher("2");
boolean b = m.matches();
if(b){
System.out.println("istrue:"+b);
}}
public static void main(String[] args) {
PatternTest pt = new PatternTest();
// pt.testFormat("2");
pt.testParttern();
}
}
if(str.trim().replaceFirst("^\\d+[.]?\\d+$", "").equals("")){
System.out.println(str+"是正数");
}
if(str.trim().replaceFirst("^-\\d+[.]?\\d+$", "").equals("")){
System.out.println(str+"是负数");
}
if(str.trim().replaceFirst("\\d+", "").equals("")){
System.out.println(str+"是整数");
}
if(str.trim().replaceFirst("^(-)?\\d+[.]+\\d+$", "").equals("")){
System.out.println(str+"是小数");
}