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

  • 相关阅读:
    C#中的Dictionary的使用
    关于加密和解密的方法
    单链表逆置
    稀疏矩阵存储
    数组内存地址
    堆和栈的区别
    vc++6.0快捷键
    springMvc-02
    SpringMvc-01
    数据库字段设置问题,具体问题具体分析
  • 原文地址:https://www.cnblogs.com/bingya/p/3164472.html
Copyright © 2011-2022 走看看