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 ),可能在未来某个版本中会把这个问题给解决掉,在此记录下。

  • 相关阅读:
    git 创建一个空分支
    github page的两种类型
    hexo-theme-next
    github网页
    Linux下的CPU使用率与服务器负载的关系与区别
    mysql数据库优化日志(更)-howyue
    图片延时加载
    jQuery实现页面滚动时顶部动态显示隐藏
    TCP与UDP区别
    记一次网站服务器迁移(my)
  • 原文地址:https://www.cnblogs.com/bingya/p/3164472.html
Copyright © 2011-2022 走看看