假設我在 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
提交
取消