Java开发 之小数点保留后两位、千分位符、实数正则校验

Java中@Pattern注解实战:高效校验用户输入的正则表达式大全 本文详细介绍了Java中@Pattern注解的使用方法,通过正则表达式高效校验用户输入。文章提供了常见场景的正则表达式示例,如密码复杂度、手机号格式等,并分享了高级技巧和实战经验,帮助开发者提升输入校验的准确性和效率。 阅读详情
import java.util.regex.Pattern;

public class DefaultTest {

    private static final Pattern PATTERN = Pattern.compile("^[-]?(\\d{1,3}(,\\d{3})*(\\.\\d{1,2})?)");

    public static void main(String[] args) {
        System.out.println("5 === " + PATTERN.matcher("5").matches());
        System.out.println("5. === " + PATTERN.matcher("5.").matches());
        System.out.println("5.1 === " + PATTERN.matcher("5.1").matches());
        System.out.println("5.12 === " + PATTERN.matcher("5.12").matches());
        System.out.println("5.123 === " + PATTERN.matcher("5.123").matches());
        System.out.println("0.12 === " + PATTERN.matcher("0.12").matches());
        System.out.println("1,006.12 === " + PATTERN.matcher("1,006.12").matches());
        System.out.println("1,006.123 === " + PATTERN.matcher("1,006.123").matches());
        System.out.println("1,006. === " + PATTERN.matcher("1,006.").matches());
        System.out.println("1,006.1 === " + PATTERN.matcher("1,006.1").matches());
        System.out.println("51,006.1 === " + PATTERN.matcher("51,006.1").matches());
        System.out.println("3,541,006.1 === " + PATTERN.matcher("3,541,006.1").matches());
        System.out.println("100446.12 === " + PATTERN.matcher("100446.12").matches());
        System.out.println("10,06.1 === " + PATTERN.matcher("10,06.1").matches());
        System.out.println("51,006.133 === " + PATTERN.matcher("51,006.133").matches());
        System.out.println("3,541,006 === " + PATTERN.matcher("3,541,006").matches());
        System.out.println("1,001 === " + PATTERN.matcher("1,001").matches());
        System.out.println("-1,001 === " + PATTERN.matcher("-1,001").matches());
        System.out.println("+1,001 === " + PATTERN.matcher("+1,001").matches());
        System.out.println("3333,891,001 === " + PATTERN.matcher("3333,891,001").matches());
    }
}
5 === true
5. === false
5.1 === true
5.12 === true
5.123 === false
0.12 === true
1,006.12 === true
1,006.123 === false
1,006. === false
1,006.1 === true
51,006.1 === true
3,541,006.1 === true
100446.12 === false
10,06.1 === false
51,006.133 === false
3,541,006 === true
1,001 === true
-1,001 === true
+1,001 === false
3333,891,001 === false
从源码到实战:手把手教你自定义一个比StringUtils更强大的Java数字校验工具类 本文详细介绍了如何从源码层面构建一个功能强大的Java数字校验工具类,超越StringUtils的isNumeric方法。通过模块化设计和正则表达式优化,支持负数、小数点、科学计数法等复杂数字格式校验,并提供了Spring Validation集成和性能优化技巧,适用于金融、科学计算等多种场景。 阅读详情

相关推荐

Java字符串数字添加千分位格式化实战

在Java开发中,对字符串形式的数字进行千分位格式化处理是一项常见但关键的任务。尤其在金融、报表、电商等对数据展示要求较高的业务场景中,良好的数字格式不仅提升了用户阅读体验,也增强了系统的专业性与可维护性。本章将引导读者理解为何需要对字符串形式的数字添加千分位分隔符,分析其背后的设计逻辑与业务需求,并为后续章节中使用类、处理异常、封装工具类等内容打下理论基础。通过本章学习,读者将初步掌握数字格式化的整体目标与实现思路。Java 提供了多个用于数字格式化的类,主要包括:类名功能描述。

weixin_30481539的博客 1214

JAVA验证数字的整数位长度及小数据位长度

文章目录一、案例说明二、使用步骤1.引入库2.读入数据 一、案例说明 验证数字的整数位长度及小数据位长度。 二、使用步骤 1.引入库 代码如下(示例): import java.util.regex.Matcher; import java.util.regex.Pattern; import java.math.BigDecimal; public class CommonUtil { /** * 验证数字的整数位长度及小数据位长度 * @param str * @param integ

qq_36893361的博客 4944

java使用正则表达为数字添加千位符的简单方法

主要介绍了java使用正则表达为数字添加千位符的简单方法,需要的朋友可以参考下

【无标题】java 金额小数位校验,避免00坑

这里写自定义目录标题 废话不多说,直接上代码 String s = “2902.001”; String source = s.toString(); // 判断是否是整数或者是携带一位或者两位的小数 Pattern pattern = Pattern.compile("1?([0-9]+(.[0-9]{1,2})?)$"); // 利用正则判断 if (pattern.matcher(source).matches()) { System.out.println(“111”); } + ↩︎

jia_18301132722的博客 1223

Plecs仿真进阶:半桥LLC谐振变换器从开环到闭环的实战解析

本文通过Plecs软件,详细解析了半桥LLC谐振变换器从开环模型搭建到闭环控制实现的完整仿真流程。文章深入探讨了谐振参数设置、关键波形解读,并重点分享了基于PI控制器的闭环调试实战经验与参数整定技巧,帮助工程师高效掌握这一高效拓扑的仿真与设计方法。

weixin_29231263的博客 281

车载测试面试题总结

首先确认是什么问题,如果是测试软件的问题就先确定自己的测试方法有没有问题,如果没有问题,那就是测试软件的问题,这时候就需要提bug 进行跟踪,(比如BCM测试的时候,先明确测试的输入,对输入)进行需求分析,然后设计测试用例,进行用例评审,评审完执行测试用例形成最终的版本,台架分为:hil(黑尔)台架,单个控制器的台架、整车台架、车身台架、动力系统台架等,主要验证其功能,或者实车无法满足的测试环境。这个人不可能一直,点击几千次或者多少次几个小时连续点击,人不可能一直在点。因为要模拟一下这个稳定性,

woaxiaoqing的博客 7817

正则表达式,校验金额整数部分不超过14位,小数部分不超过两位

import java.util.regex.Pattern; import java.util.regex.Matcher; public static String checkAmt(String amt){ String regex = "^[1-9]\\d{0,13}(\\.\\d{0,2})?$|^0(\\.\\d{0,2})?$" Pattern pattern = Pattern.complie(regex); Matcher isNum = pattern.matcher(amt); if

暖暖的阳光的博客 3282

2023年5月青少年软件编程Python等级考试四级真题(含答案和解析)

电子学会,2023年5月,青少年软件编程,Python等级考试,四级真题(含答案和解析)

m0_37554648的博客 904

java 正则匹配小数点_java正则表达式匹配所有数字,包括带小数点的数字

用于匹配的正则表达式为:([1-9]\d*\.?\d*)|(0\.\d*[1-9])([1-9]:匹配1~9的数字;\d:匹配数字,包括0~9;*:紧跟在 \d 之后,表明可以匹配零个及多个数字;\.:匹配小数点;?:紧跟在 \. 之后,表明可以匹配零个或一个小数点;0:匹配一个数字0;)其中的[1-9]\d*\.?\d*用以匹配诸如:1、23、34.0、56.78 之类的非负的...

weixin_28668743的博客 7892

AI Agent ReAct架构设计模型剖析

ReAct通过"思考-行动-观察"循环运作:智能体先进行自然语言推理,再调用外部工具执行行动,观察结果后继续推理直至解决问题。这种架构提高了透明度和准确性,减少幻觉风险,使LLM能主动分解任务并利用外部数据源。实现关键在于精心设计的提示模板,引导LLM按结构化格式响应,而非依赖模型固有能力。

weixin_43939320的博客 1250

高速DAC设计与实现--AD9122

目录 芯片简介: 功能配置设计 高速DAC软件驱动设计 芯片简介: AD9122 是一款双通道16位高性能数模转换器(DAC),在800MSPS工作条件下其无杂散动态范围(SFDR)高达72dBc,最高可提供1200 MSPS采样速率。 高速DAC--AD9122电路原理图 硬件设计的电路原理图如上图所示,AD9122具备针对直接变频传输应用进行优化的特性,包括复数数字调制以及增益与失调补偿。DAC输出经过优化后可直接与模拟正交调制器无缝接口,便于后期使...

独木舟216的博客 1万+

android开发EditText金额保留小数点后两位

1、EditText对应的filter import android.text.InputFilter; import android.text.Spanned; import android.text.TextUtils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 过滤用户输入只能为金额...

qq_29293605的博客 688

SAP 的预算控制并非单一功能,而是根据管控的精细度和业务场景,主要通过三个模块实现:CO(成本控制)、FM(基金管理) 和 PS(项目系统)

SAP系统提供三种预算控制模型:基于CO模块的成本中心/内部订单预算管控,适用于日常费用管理;基于FM模块的基金中心/承诺项目预算控制,满足公共部门严格资金管理需求;基于PS模块的WBS元素预算控制,专为项目型企业设计。各模型通过特定配置实现预算编制、审批、控制和分析功能,并配有核心事务代码(T-Code)支持全流程操作。企业可根据业务场景选择适合的预算控制方式,实现从预算编制到执行监控的闭环管理。

金牌架构师 255

Hutool工具库中金额格式校验的实现方案

Hutool工具库中金额格式校验的实现方案 【免费下载链接】hutool ????小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 项目地址: https://gitcode.com/chin...

gitblog_01410的博客 359

34 python 时间和日期

介绍python里时间和日期的常用方法,以及案例,还有注意事项。

水滴爬呀爬 347

【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层

用过CASS的人都知道,野外数字测图得到的点数据(平面坐标)可以直接导入到CASS中,进一步绘制地形图。那么,带有坐标的数据能不能在ArcGIS中实现点图层的生成呢?答案是必须的! 本文以气象台站shp数据的生成为例,详细介绍ArcGIS 10.2中导入X、Y坐标(这里指的是经度、纬度),生成Shapefile点数据的流程。 相关阅读:《全站仪、RTK测量坐标数据在CASS和ArcGIS中展点的区别和联系》 目录 1、数据准备 2、添加X、Y数据 3、属性表连接(Join) 4、导出为Sh.

智慧空间实验室 10万+

别再傻傻用StringUtils.isNumeric了!Java数字校验的5个真实业务场景与避坑指南

本文深入探讨Java数字校验的5个真实业务场景与避坑指南,揭示StringUtils.isNumeric()的局限性。从用户输入处理、文件解析到微服务参数校验,提供多种解决方案如正则表达式、预编译模式和自定义遍历方法,帮助开发者避免常见陷阱,提升代码健壮性和性能。

weixin_33709590的博客 276

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

如何才能写出一个符合预期的正则?

想学会写正则,先学会读正则。不过,这里老顾简单的举例,可以帮你更快掌握正则哦

文盲的专栏 985

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java 数字校验实战:从工具类到正则,性能与场景的深度抉择

本文深入探讨Java中数字校验的实战技巧,从StringUtils工具类到正则表达式的应用,分析了不同场景下的性能与适用性。通过具体案例和性能测试数据,帮助开发者选择最优校验方案,提升代码健壮性和执行效率。特别针对电商、金融等领域的数字校验需求,提供了实用的避坑指南和进阶技巧。

weixin_42549451的博客 245

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

10个Java正则表达式实战案例:从验证到文本处理

金融业务中需要验证15/18位身份证,除了长度检查,还需通过最后一位校验码验证算法确认号码有效性。实践时,发现它的在线编辑器能实时高亮正则匹配结果,调试非常直观。比如测试身份证校验规则时,输入框右侧直接显示匹配成功的字段,比本地反复编译运行高效得多。对于需要持续服务的场景(如开发一个正则校验API),平台的一键部署功能特别实用——写完直接生成可访问的测试接口,省去了自己搭环境的麻烦。这类链接中提取参数时,需处理编码后的特殊字符(如%20)。正则分组能直接捕获键值对,但要注意处理缺失值和多值参数的情况。

AmberLeopard26的博客 867

Java后端开发必备:@Pattern注解实战指南(附20+常用正则表达式模板)

本文深入探讨了Java后端开发中@Pattern注解与正则表达式的实战应用,提供了20+常用正则表达式模板,涵盖用户身份校验、金融业务关键校验等高频场景。通过性能优化策略和动态正则生成技巧,帮助开发者提升数据校验的效率和可维护性,确保系统健壮性。

year5的博客 259

正则表达式,找数字的千分位(不带小数点)

无

yinzx555555的博客 380

别再只用isNumeric了!Java字符串数字校验的5个真实业务场景与避坑指南

本文深入探讨了Java字符串数字校验在真实业务场景中的5个关键问题与解决方案,包括千分位数字处理、科学计数法兼容、特殊前缀清洗、类型敏感校验和高性能优化。通过具体代码示例和性能对比,帮助开发者避免常见陷阱,提升校验效率和准确性,特别适合金融、电商等高要求场景。

weixin_33230433的博客 320

彻底解决金融系统的数字噩梦:Hutool金额校验的5层防御体系

你是否还在为金额校验中的精度丢失、格式混乱、边界值异常而头疼?作为金融系统的开发者,一个小数点错误可能导致百万级资金损失,而传统校验方案往往止步于简单的正则匹配。本文将基于Hutool工具库,构建从格式验证到业务规则的全链路金额防护体系,让你的财务系统从此告别数字陷阱。 读完本文你将掌握: - 基于NumberUtil的4种核心校验策略 - 金额格式化与校验的一体化方案 - 解决精度丢失的Big...

gitblog_01428的博客 607

Java BigDecimal解析异常:从NumberFormatException到防御性编程实战

在Java开发中,数字字符串解析是数据处理的基础操作,涉及类型转换、数据清洗等核心概念。其原理在于解析器需严格匹配预定义的字符集与语法规则,任何非法字符都会触发NumberFormatException。这一机制的技术价值在于保障数据精确性与运算可靠性,尤其在金融计算、科学计算等对精度要求极高的应用场景中至关重要。本文聚焦BigDecimal解析过程中的常见陷阱,针对千位分隔符、不可见控制字符等热词问题,提供从输入清洗、安全解析到系统设计的全链路防御方案,帮助开发者构建健壮的数据处理流程。

ciya3282的博客 441

常用正则大全,npm包vue-canonical-encyclopedia,以及如何在Vue、React等项目实际开发当中使用vue-canonical-encyclopedia

在我们前端的日常开发当中,总是需要各种各样的正则去判断我们的信息,每次都去重新去编写,很是麻烦,所以作者开发了正则大全的npm包,将持续更新,并开源免费。

Agent、AI应用、全栈技术领域探索者,分享实用干货与实战经验。 412
上一篇: SpringBoot 之 Oauth2
下一篇: SpringMVC 之绑定枚举类型参数
yyangqqian
博客等级 码龄15年 406粉丝 406原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值