猿问

在 Java 中将长对象转换为字符串

假设我在 Java 中有这个 Long:

 Long x=0b01101L;

我想用这个把它转换成一个字符串:

String str1 = Long.toBinaryString(x);

有没有办法将第一个 0 保留在字符串中?我的意思是可以这样:

System.out.println(str1);

打印01101而不是1101


白衣染霜花
浏览 110回答 1
1回答

犯罪嫌疑人X

这不可能。当你声明时Long x = 0b01101L;,你创建了一个long实例,它不包含关于String它所包含的值的表示的信息。是的,它等于十进制的 13,但它也等于繁体中文/日文中的十三,也等于 10 + 3,等等。如果你想将它转换为String填充到一定数量的零,你可以使用String.format("%16s", Integer.toBinaryString(x)).replace(' ', '0'),但你必须事先知道你想要打印多少位,因为这将始终返回 16 位。但是,此信息未编码为Long(或long)。如果您需要保留此信息,请将变量声明为 a String xString = "01101";,并在需要进行数值运算时将其转换为longusing 。Long.valueOf(xString, 2);
随时随地看视频慕课网APP

相关分类

Java
我要回答