当前位置: 首页 > 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/news/16888.html

相关文章:

  • 【五一创作】医院手术室麻醉管理系统概述和功能 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路径解析返回得到是空列表(保姆级图文)
  • Vue.js核心概念简介:组件、数据绑定、指令和事件处理
  • 1985-2021年全国31省一二三产业就业人数/各省分产业就业人数数据(无缺失)
  • 【C++】-关于类和对象的默认成员函数(中)-构造函数和析构函数
  • 操作系统——操作系统用户界面
  • C++入门(下)
  • 给你们讲个笑话——低代码会取代程序员
  • 360SEO 360搜索引擎算法的基础知识
  • Shell脚本3
  • 代码优美,搬砖不累:探索高质量代码之路
  • [架构之路-188]-《软考-系统分析师》-3-操作系统 - 图解页面替换算法LRU、LFU