int转换为Stringjava 时,如何使用零填充?
我基本上希望9999用前导零填充整数(例如1 = 0001).
是否有一些简单的方法来填充Java中的字符串?
看起来像某些类似于StringUtil的API,但我找不到任何可以做到这一点的东西.
我在不可变字符串上编写了以下代码.
public class ImmutableStrings {
    public static void main(String[] args) {
        testmethod();
    }
    private static void testmethod() {
        String a = "a";
        System.out.println("a 1-->" + a);
        a = "ty";
        System.out.println("a 2-->" + a);
    }
}
输出:
a 1-->a  
a 2-->ty
这里变量的值a已经改变(许多人说不可变对象的内容不能改变).但究竟是什么意思说String是不可改变的?你能否为我澄清一下这个话题?
来源:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
例如,1, 2, 128, 256输出可以是(16位):
0000000000000001
0000000000000010
0000000010000000
0000000100000000
我试过了
String.format("%16s", Integer.toBinaryString(1));
它为左边填充放置空格:
`               1'
如何将0s用于填充.我在Formatter中找不到它.还有另一种方法吗?
提前致谢.
PS 这篇文章描述了如何使用左0填充格式化整数,但它不适用于二进制表示.
我有一个数字让我说9.但我需要它作为字符串"09".
我知道我可以写自己的逻辑.但我正在寻找一个隐含的util函数,它可以填充它.
我在TypeScript中使用angular2.寻找像这样.
就像java一样
String.format("%010d", Integer.parseInt(mystring));
java中最简单的方法是将整数的二进制表示形式作为具有固定位数的二进制数(例如,如果我想用5位转换3,那么结果将是00011).在matlab中,我可以指定位数作为参数.
我正在阅读,找不到相当的片段.我正在寻找一个函数,它接受一个字符串并左键填充零(0),直到整个字符串长度为8位.我找到的所有其他片段只允许整数控制填充多少,而不是填充多少,直到整个字符串为x位长.在java中.
例
BC238 => 000BC289
4 => 00000004
等等谢谢.
我在我的使用占位符字符串 strings.xml
<string name="date">%1$d.%2$d.%3$d</string>
并在代码中设置它:
String.format(context.getResources().getString(R.string.date), day, month, year);
如果我们以5号为例,现在的结果是:
5.5.2015
如何将超过10的数字的前导零添加到字符串资源中?
不是重复左填充用零字符串,因为这个问题的解决方法是:
String.format("%010d", Integer.parseInt(mystring));
但是android资源字符串的格式是:
%1$d
其中1指示索引.我应该把它放在哪里02?
我需要将二进制字符串转换为十六进制字符串,但我有一个问题.我通过这种方法将二进制字符串转换为十六进制字符串:
public static String binaryToHex(String bin){
   return Long.toHexString(Long.parseLong(bin,2));
}
没关系!但我丢失了字符串左边的零.例如:
该方法返回此:123456789ABCDEF,但我想要返回此:
00000123456789ABCDEF
我正在为孩子们在学校生成4个字符的密码.引脚必须在数据库中存储为4个字符串.这是我用来生成引脚的方法:
public void generatePin() {
    String pin;
    Random r = new Random();
    for (int i = 0; i < createdStudents.size(); i++) {
        int rand = r.nextInt((3998 - 1) + 1) + 1;
        if (rand < 10) {
            pin = "000" + rand;
        } else if (rand < 100) {
            pin = "00" + rand;
        } else if (rand < 1000) {
            pin = "0" + rand;
        } else {
            pin = "" + rand;
        }
        createdStudents.get(i).setPin(pin);
    }
}
我的问题是:
如果我略微改变上面的方法,在我去的时候将每个引脚添加到String类型的ArrayList中,"搜索"该列表的最有效方法是什么,并确保一所学校的2名学生不会最终得到相同的针脚? …
java ×8
string ×5
padding ×3
binary ×2
hex ×2
android ×1
angular ×1
arraylist ×1
duplicates ×1
formatting ×1
immutability ×1
typescript ×1
zero-pad ×1