zoukankan      html  css  js  c++  java
  • StringUtils.isNumeric使用

        在做导入/导出功能时,客户要求导出数字类型的值时,将excel相应单元格属性设为number型,由此需判断字符串值是否为数字,代码如下:

    public static boolean isNumber(String number) {int index = number.indexOf(".");
            if (index < 0) {
                return StringUtils.isNumeric(number);
            } else {
                String num1 = number.substring(0, index);
                String num2 = number.substring(index + 1);
    
                return StringUtils.isNumeric(num1) && StringUtils.isNumeric(num2);
            }
        }

    网上查"java 判断字符串为数字"阅资料,大部分资料都在讲字符串转为整数的情况,很少资料提及关于负数和小数的情况,最终决定采用StringUtils.isNumberic这个方法差别,

    在测试导出时发现有报错,用debug模块一点点追踪,发现StringUtils.isNumeric会将空字符串返回true,先这样解决一下:

    public static boolean isNumber(String number) {
            if(number==null || "".equals(number))
                return false;
            int index = number.indexOf(".");
            if (index < 0) {
                return StringUtils.isNumeric(number);
            } else {
                String num1 = number.substring(0, index);
                String num2 = number.substring(index + 1);
    
                return StringUtils.isNumeric(num1) && StringUtils.isNumeric(num2);
            }
        }

    网上继续查找,这个方法怎么会有这种情况,最终在官网上找到其他程序员提出的这个问题及java开发团队的回答(原文链接:https://issues.apache.org/jira/browse/LANG-428 ),可能在未来某个版本中会把这个问题给解决掉,在此记录下。

  • 相关阅读:
    泛式之争
    测试的本质
    动态语言与静态语言
    对象之间的关系
    关于“重复”的一段交流
    装饰器与子类化
    类的设计质量
    抽象跟难
    Unity经典游戏编程之:球球大作战
    关于Unity 中对UGUI制作任务系统的编程
  • 原文地址:https://www.cnblogs.com/bingya/p/3164472.html
Copyright © 2011-2022 走看看