本文翻译自:Add leading zeroes to number in Java? [duplicate]

This question already has an answer here: 这个问题在这里已有答案:

  • How can I pad an integer with zeros on the left? 如何在左侧填充带零的整数? 14 answers 14个答案

Is there a better way of getting this result? 有没有更好的方法来获得这个结果? This function fails if num has more digits than digits, and I feel like it should be in the library somewhere (like Integer.toString(x,"%3d") or something) 如果num的位数多于数字,则此函数失败,我觉得它应该在某个库中(如Integer.toString(x,“%3d”)或其他东西)

static String intToString(int num, int digits) {StringBuffer s = new StringBuffer(digits);int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1; for (int i = 0; i < zeroes; i++) {s.append(0);}return s.append(num).toString();
}

#1楼

参考:https://stackoom.com/question/19ix/在Java中将前导零添加到数字-重复


#2楼

String.format ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax ) String.format( http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax )

In your case it will be: 在你的情况下,它将是:

String formatted = String.format("%03d", num);
  • 0 - to pad with zeros 0 - 用零填充
  • 3 - to set width to 3 3 - 将宽度设置为3

#3楼

Since Java 1.5 you can use the String.format method. 从Java 1.5开始,您可以使用String.format方法。 For example, to do the same thing as your example: 例如,要做与您的示例相同的事情:

String format = String.format("%%0%dd", digits);
String result = String.format(format, num);
return result;

In this case, you're creating the format string using the width specified in digits, then applying it directly to the number. 在这种情况下,您将使用数字指定的宽度创建格式字符串,然后将其直接应用于数字。 The format for this example is converted as follows: 此示例的格式转换如下:

%% --> %
0  --> 0
%d --> <value of digits>
d  --> d

So if digits is equal to 5, the format string becomes %05d which specifies an integer with a width of 5 printing leading zeroes. 因此,如果数字等于5,则格式字符串变为%05d ,其指定宽度为5的整数打印前导零。 See the java docs for String.format for more information on the conversion specifiers. 有关转换说明符的更多信息,请参阅String.format 文档的String.format 文档 。


#4楼

Another option is to use DecimalFormat to format your numeric String. 另一种选择是使用DecimalFormat格式化数字String。 Here is one other way to do the job without having to use String.format if you are stuck in the pre 1.5 world: 如果你被困在pre 1.5世界中,这里有另一种方法来完成这项工作,而不必使用String.format:

static String intToString(int num, int digits) {assert digits > 0 : "Invalid number of digits";// create variable length array of zeroschar[] zeros = new char[digits];Arrays.fill(zeros, '0');// format number as StringDecimalFormat df = new DecimalFormat(String.valueOf(zeros));return df.format(num);
}

#5楼

In case of your jdk version less than 1.5, following option can be used. 如果您的jdk版本低于1.5,可以使用以下选项。

    int iTest = 2;StringBuffer sTest = new StringBuffer("000000"); //if the string size is 6sTest.append(String.valueOf(iTest));System.out.println(sTest.substring(sTest.length()-6, sTest.length()));

#6楼

How about just: 怎么样:

public static String intToString(int num, int digits) {String output = Integer.toString(num);while (output.length() < digits) output = "0" + output;return output;
}

在Java中将前导零添加到数字? [重复]相关推荐

  1. java怎么将在中加入数字,在Java中将前导零添加到数字中?

    本问题已经有最佳答案,请猛点这里访问. 有没有更好的方法来获得此结果? 如果num的位数比位数多,则此函数将失败,并且我认为它应该在库中的某个位置(例如Integer.toString(x," ...

  2. java 华氏度_在Java中将华氏度转换为摄氏温度[重复] - java

    This question already has answers here: Double value returns 0 [duplicate] (3个答案) 6年前关闭. 我正在尝试将华氏度转换 ...

  3. Java 高级算法——数组中查询重复的数字

    题目一:找到数组中重复的数字. 在一个长度为N的数组里的所有数字都在0--n-1的范围之内,数组中某些数字是重复的,但是不知道有几个数字是重复了,也不知道数字重复了几次,请找到数组中任意一个重复的数字 ...

  4. Java 高级算法——数组中查询重复的数字之二

    题目二:不修改数组找到重复的数字. 在一个长度为n+1的数组中,所有的数字都在1-n的范围之内,所以数组中至少一个是重复的,请找到重复的数字,但不能修改输入的数组 方法一:创建一个长度为n+1的辅助数 ...

  5. 如何在Java中将String转换为int?

    如何在Java中将String转换为int ? 我的字符串仅包含数字,我想返回它代表的数字. 例如,给定字符串"1234" ,结果应为数字1234 . #1楼 好吧,要考虑的一个非 ...

  6. 在Java中将Double转换为Integer

    本文翻译自:Cast Double to Integer in Java Any way to cast java.lang.Double to java.lang.Integer ? 有什么方法可以 ...

  7. 2个在Java中将Byte []数组转换为String的示例

    将字节数组转换为String似乎很容易,但是很难做到正确. 每当字节转换为String或char时,许多程序员都会犯忽略字符编码的错误,反之亦然. 作为程序员,我们都知道计算机只能理解二进制数据,即0 ...

  8. 【Java】String hashCode 这个数字 31

    1. 背景 原文:String hashCode 这个数字,很多人不知道! 生动有趣的文章:哈希表哪家强?几大编程语言吵起来了! 好文章:面试28k职位,老乡面试官从HashCode到HashMap给 ...

  9. java 生成不重复随机数_Java如何实现生成n个不重复的随机数 Java实现生成n个不重复的随机数代码...

    Java如何实现生成n个不重复的随机数?本篇文章小编给大家分享一下Java实现生成n个不重复的随机数代码,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 需 ...

最新文章

  1. Selenium高亮页面对象
  2. 网页禁用鼠标右键和复制功能兼容方式
  3. Python源码阅读-内存管理机制(一)
  4. java web 测试类,构建一个容易单元测试的java–web系统-JSP教程,Java技巧及代码
  5. linux gcc出错,编译arm-linux-gcc出错
  6. mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】
  7. oracle dg物理和逻辑,Oracle DG介绍(物理无实例)
  8. java工具类_非常实用的Java工具类,拿走不谢(一)
  9. cocos2dx box2d使用(一)
  10. 冰封USB3.0导入工具
  11. 春节宅家玩什么?8款小游戏陪你一起过年
  12. Sematic库系列一
  13. EXCEL VBA窗口快捷键冲突查找原因
  14. PHP 开发新版个人博客
  15. MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具
  16. nativefier(一行代码将任意网页转化为桌面应用)
  17. 计算机基础知识(基础入门小白专属)三
  18. 用计算机收传真,怎么在电脑上发传真 在电脑上接收传真方法介绍【详细步骤】...
  19. 常见CSS(层叠样式表)介绍
  20. 计算机解决问题一般需要六步,用计算机解决问题一般步骤.doc

热门文章

  1. C语言OJ项目参考(2963) 判断三角形
  2. Java爬虫实战(一):抓取一个网站上的全部链接
  3. oracle 知识点
  4. zabbix源码安装
  5. pthread库进行多线程编程 - 组件工厂 - C++博客
  6. VisualTreeHelper
  7. 机器学习项目实战----信用卡欺诈检测(一)
  8. c# 一种缓存模板
  9. 基本数据类型的值传递 和引用数据类型的引用传递 Day06
  10. 《软件需求》读后感02