Java 中int 转成 String 的问题?

我知道有3中方法
有三种方法:

1)String s = String.valueOf(i);

2)String s = Integer.toString(i);

3)String s = "" + i;

但是如果这个 int 或 long 是 0 开头的 比如 int a = 0011;
如果用这写方法转成的String 就不是“0011”了
请问这种情况如何才可以转啊?
最新回答
茶丸软卷

2024-10-24 11:26:07

JAVA中十进制的整数是不允许以0开头的。
Integer的toOctalString()是将这类整数转化为8进制输出的。
如果你确实想按照你设想的0011输出,(0011,你认为是十进制的11,实际上如果你在程序中这样写,JAVA会默认为8进制中的9),可以自己用4维数组实现一个专门的类来存储,然后输出。
七情六欲

2024-10-24 08:42:05

这个没有办法,因为数是存在内存中的,是以二进制方式存储的,而这个0011前面可以有任意多个0,所以计算机并不能判断前面有多少个零

除非你自己写个方法,然后根据自己的需要在前面加0
゛指尖的阳光

2024-10-24 08:47:19

你对象造型就可以了啊
比如:
String s = String(int i);
就可以了啊
害怕失恋所以单身

2024-10-24 11:02:23

自己再定义一个STRING类型的数如String zero = "00"
然后把转换过来的字符使用String的contact方法连接起来
|欧巴桑_

2024-10-24 09:49:58

DecimalFormat df = new DecimalFormat("0000");
String s = df.format(11);

s就等于0011