java数字字符串,非数字字符串前补零,后补零到指定位数

2023-11-16

java数字字符串,非数字字符串前补零,后补零到指定位数

  • 一个Java有用的小工具类
import java.text.DecimalFormat;
import java.util.Arrays;

/**
 * 位数不够补零
 *
 * @author hexionly
 * @since 2023/4/21 13:47
 */
public class StringFormatters {

    public static void main(String[] args) {
        String numStr = "12345";
        String notNumStr = "ABC";

        StringFormatters format = new StringFormatters();
        String s1 = format.numberStrBeforeZero1(numStr, 8);
        String s2 = format.numberStrBeforeZero2(numStr, 8);
        String s3 = format.numberStrAfterZero(numStr, 8);
        String s4 = format.notNumberStrBeforeZero(notNumStr, 8);
        String s5 = format.notNumberStrAfterZero(notNumStr, 8);

        System.out.println(Arrays.asList(s1, s2, s3, s4, s5));
    }

    /**
     * 数字字符串前补零到指定位数
     *
     * @param numStr 字符串
     * @param len    结果位数
     * @return String
     */
    private String numberStrBeforeZero1(String numStr, int len) {
        DecimalFormat decimalFormat = new DecimalFormat(String.format("%0" + len + "d", 0));
        return decimalFormat.format(Integer.valueOf(numStr));
    }

    /**
     * 数字字符串前补零到指定位数
     *
     * @param numStr 字符串
     * @param len    结果位数
     * @return String
     */
    private String numberStrBeforeZero2(String numStr, int len) {
        return String.format("%0" + len + "d", Integer.valueOf(numStr));
    }

    /**
     * 数字字符串后补零到指定位数
     *
     * @param numStr 字符串
     * @param len    结果位数
     * @return String
     */
    private String numberStrAfterZero(String numStr, int len) {
        int subLen = len - numStr.length();
        return numStr + String.format("%0" + subLen + "d", 0);
    }

    /**
     * 非字字符串前补零到指定位数
     *
     * @param numStr 字符串
     * @param len    结果位数
     * @return String
     */
    private String notNumberStrBeforeZero(String numStr, int len) {
        return String.format("%" + len + "s", numStr).replace(" ", "0");
    }

    /**
     * 非数字字符串后补零到指定位数
     *
     * @param numStr 字符串
     * @param len    结果位数
     * @return String
     */
    private String notNumberStrAfterZero(String numStr, int len) {
        int subLen = len - numStr.length();
        return numStr + String.format("%0" + subLen + "d", 0);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java数字字符串,非数字字符串前补零,后补零到指定位数 的相关文章

  • 如何使用Spring WebClient进行同步调用?

    Spring Framework in 休息模板 https docs spring io spring framework docs current javadoc api org springframework web client R
  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐

  • Linux——(第六章)常用指令(一)

    目录 一 帮助指令 1 man获取帮助信息 2 help指令 3 常用快捷键 二 文件和目录相关指令 1 pwd 指令 2 ls 指令 3 cd 指令 4 mkdir 指令 5 rmdir指令 6 touch指令 7 cp 指令 8 rm
  • 队列——queue

    Hello 这是你们的苦力怕 今天我去医院做核酸检测 排了老长的队 wait了半个多小时才做完 真是把我整无语死了 但是我在wait的过程中突然想到了一个问题 啥数据结构跟排队很像 对了 就是大名鼎的队列 目录 什么是队列 队列的用法 队列
  • 安装CP210xVCP遇到的问题

    在CE系统里面有USB设备虚拟串口的驱动 CP210xVCP就是这样 在写入注册表的配置信息里面 虚拟的串口默认为COM9 有一些设备上面 COM9是不行的 遇到这样的情况 修改为较小的编号 如COM6是可以的 还有一些设备 裁减掉了USB
  • Vue3、setup的使用

    Vue3 setup ref reactive toRef toRefs 1 setup的使用 1 1 简介 1 2 setup注意点 1 3 定义响应式数据 1 4 toRefs 1 5 setup中执行方法 1 5 1 方式一 1 5
  • Sqli-labs-master 1-4闯关游戏

    Less 1 首先打开到Less 1 根据提示Please input the ID as parameter with numeric value 请输入ID作为带数值的参数 这里我们用GET方法进行尝试 id 1 可以看到返回了用户名及
  • ceph pg inconsistent不一致,ceph pg repair无效

    更多ceph相关文章详见知乎ceph专栏 聊聊ceph ceph pg repair指令执行后 无效原因分析 ceph pg repair这一操作会先进行pg scrub 得到该PG中不一致的对象 然后再进行recovery pg scru
  • NVIDA CUDA architecture查询

    官网查询 https developer nvidia com cuda gpus 如下图所示 另外在CUDA SDK目录下有deviceQuery的示例程序 WIN10路径是C ProgramData NVIDIA Corporation
  • 若要运行此应用程序,您必须首先安装NET Framework 解决办法

    先把进入控制面版 删除原来的版本 安装 Net Framework失败 解决方案 第一步 如果是XP系统 这么做 1 开始 运行 输入cmd 回车 在打开的窗口中输入net stop WuAuServ 2 开始 运行 输入 windir 3
  • stm32f1一路互补PWM大功率DCDC降压方案

    stm32f1 ucc27211 tl431大功率dcdc电路 源码程序
  • 共探工业数智化,TVP河南工业互联网论坛将重磅召开!

    引言 随着数字经济与经济社会发展的深度融合 工业互联网日益成为数字化转型的关键驱动力量 云计算 大数据 AI 物联网等蓬勃发展的新技术将为制造业提供数字转型 智能升级 融合创新等服务 工业互联网也迎来了新一轮的历史发展机遇 在新技术的加持下
  • DataWhale-VCED项目学习-2Jina

    Jina Jina是多模态中存储数据以及处理数据的组件 它可以将非结构化数据 图像 文档 视频等 转化为向量数据 并结合Jina其它的相关组件设计 可以将这些向量数据利用起来 实现多模态相关应用 安装 安装 Jina 需要 Python3
  • git简单命令

    登录自己的账号与邮箱 git config global user name wei gir config global user email ww 进入一个文件夹中之后 git init 初始化仓库 生成 git文件 该文件夹称为工作树
  • 剑指offer-17 合并链表

    2个链表 本来都是从小到大的顺序排列的 现在要求合并 合并后依然从小到大 思路 先设定一个pointer指针 指向新链表的新节点 1 如果链表1为空 则新链表就是链表2 反之一样 2 创建一个指针pointer 在子链表都不为空时 比较两个
  • SQL注入——联合注入

    SQL注入原理 攻击者通过构造不同的SQL语句来实现对数据库的操作 SQL注入的本质 我们也能操作别人的数据库 数据库结构 库 就是一堆表组成的数据集合 表 类似Excel 有行和列组成的二维表 字段 表中的列称为字段 记录 表中的行称为记
  • $LSB_SUB_PARM_FILE

    LSB SUB PARM FILE是一个环境变量 用于指定包含作业提交所需参数的文件路径 这个文件通常由作业脚本生成 并在作业提交命令中使用该变量将此文件与作业一起提交给集群管理器 LSB SUB PARM FILE所生成的文件中包含了作业
  • BAM网络

    摘要 从混叠区域恢复纹理信息一直是单图像超分辨率 SISR 任务的主要挑战 这些区域通常淹没在噪波中 因此我们必须在抑制噪波的同时恢复纹理细节 为了解决这个问题 我们提出了一种平衡注意机制 BAM 它由Avgpool通道注意模块 ACAM
  • git使用手册,有这些就够了^_^

    日常工作中 有了这些git命令 解决你代码提交与合并上的痛点 再也不怕代码和别人冲突了 再也不用为合并代码 冲掉别人代码而头痛了 一 clone仓库中的代码 git clone svn addr git 其中 svn addr git为代码
  • 面试官:70% 的面试者挂在 JVM !

    无论什么级别的Java从业者 JVM都是进阶时必须迈过的坎 不管是工作还是面试中 JVM都是必考题 如果不懂JVM的话 薪酬会非常吃亏 近70 的面试者挂在JVM上了 掌握了JVM机制 就等于学会了深层次解决问题的方法 对于Java开发者而
  • ABP 框架官网学习资料

    ABP是 ASP NET Boilerplate Project ASP NET样板项目 的简称 新思想 新技术 新架构 更好更快的开发现代ASP NET应用程序 ASP NET Boilerplate是一个用最佳实践和流行技术开发现代WE
  • java数字字符串,非数字字符串前补零,后补零到指定位数

    java数字字符串 非数字字符串前补零 后补零到指定位数 一个Java有用的小工具类 import java text DecimalFormat import java util Arrays 位数不够补零 author hexionly