假设我在 Java 中有这个 Long: Long x=0b01101L;我想用这个把它转换成一个字符串:String str1 = Long.toBinaryString(x);有没有办法将第一个 0 保留在字符串中?我的意思是可以这样:System.out.println(str1);打印01101而不是1101?
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
这不可能。当你声明时Long x = 0b01101L;
,你创建了一个long
实例,它不包含关于String
它所包含的值的表示的信息。是的,它等于十进制的 13,但它也等于繁体中文/日文中的十三,也等于 10 + 3,等等。
如果你想将它转换为String
填充到一定数量的零,你可以使用String.format("%16s", Integer.toBinaryString(x)).replace(' ', '0')
,但你必须事先知道你想要打印多少位,因为这将始终返回 16 位。
但是,此信息未编码为Long
(或long
)。如果您需要保留此信息,请将变量声明为 a String xString = "01101";
,并在需要进行数值运算时将其转换为long
using 。Long.valueOf(xString, 2);
添加回答
举报
0/150
提交
取消