当前位置: 首页 > article >正文

java对BigDecimal数字位数验证

    /**
     * time: 2023年5月4日
     * str:验证数值
     * integerPlaces:小数点前位数
     * decimalPlaces:小数点后位数
     */
    public static boolean checkDoubleFormat(String str,int integerPlaces,int decimalPlaces){
        if(str.contains("E")){
            str = new BigDecimal(str).toPlainString();
        }
        Pattern p = null;

//整体验证
        if (decimalPlaces>0) {
            p = Pattern.compile("^[-+]?([0-9]{1,"+integerPlaces+"})+[.]+([0-9]  {1,"+decimalPlaces+"})$|^[-+]?[0-9]{1,"+integerPlaces+"}$");
        }else {
            p = Pattern.compile("^[-+]?[0-9]{1,"+integerPlaces+"}$");
        }

//小数点后位数的验证

if (decimalPlaces>0) {
            p = Pattern.compile("^[-+]?([0-9]{1,"+1+"})+[.]+([0-9]{1,"+decimalPlaces+"})$");
            Matcher m = p.matcher(str);
            flg = m.matches();
        }
        Matcher m = p.matcher(str);
        boolean flg = m.matches();
        return flg;
    }


http://www.kler.cn/a/16888.html

相关文章:

  • 字符及字符串(ASCII编码系统)
  • 华为机试HJ39 判断两个IP是否属于同一子网
  • ODOO学习笔记(8):模块化架构的优势
  • 【Hadoop实训】Hive 数据操作①
  • PaaS云原生:分布式集群中如何构建自动化压测工具
  • 【前端】深入浅出的React.js详解
  • 【五一创作】医院手术室麻醉管理系统概述和功能 SQLServer 2008 R2
  • 轻松打造自己的聊天机器人:JAVA版ChatGPT
  • 表索引(索引的设计原则)详解
  • AI奇点将至 如何成为人工智能驱动型公司
  • 图像超分辨率简单介绍
  • DataEase 数据源插件分享 - 时序数据库 InfluxDB
  • 『python爬虫』05. requests模块入门(保姆级图文)
  • 2023爱分析·低代码开发平台市场厂商评估报告:数聚股份
  • 259页11万字智慧水利建设项目解决方案
  • vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题
  • 简明 JDBC 数据访问操作库:JdbcHelper(一)
  • Redis的哨兵和集群模式
  • Figma快速转换为Sketch文件格式的方法
  • 【软考高级】2017年系统分析师论文真题
  • ChatGPT根据销售数据、客户反馈、财务报告,自动生成报告,并根据不同利益方的需要和偏好进行调整?
  • Spring 5 笔记 - 入门与IOC
  • 【华为OD机试 2023最新 】最大报酬(C语言题解 100%)
  • 大数据技术之Hadoop-入门
  • shell脚本的循环
  • 『python爬虫』异常错误:request状态码是200,但是使用full xpath路径解析返回得到是空列表(保姆级图文)