INT 轉換成 BIT 補 0 問題 # java # android 轉換 bit
前言:
處理問題,有一組開關 5 位數 bit (00000),0代表關閉,1代表開啟。
由左至右為開關 1 到 5
狀況1:
(00110) 換算 INT 等於 = 6 (2的1次方 + 2的2次方),3, 4 號開關開啟
(01000) 換算 INT 等於 = 8 (2的3次方),2 號開關開啟
況狀2:
回傳 INT = 8 需要換算回 BIT
1000 但是需要 5 位數,需要在最前方補 0
需要的 String 內容 (01000)
java 實作:
需要特別注意 String 會有轉換問題,無法補 0 |
結果 |
結論:
(1) int 直接使用 String.format("%05d", 123),或將 String 轉回 int
(2) String 改成呼叫自己建立的 function
public static String addZeroForString(String str, int strLength) {
int strLen = str.length();
if (strLen < strLength) {
while (strLen < strLength) {
StringBuffer sb = new StringBuffer();
sb.append("0").append(str);
str = sb.toString();
strLen = str.length();
}
}
return str;
}
後記
如果這篇文章對於你有幫助,可以幫忙分享給更多的人.文章內容如果有誤,可以在下方留言告知.本網站主要提供程式, 玩具相關資訊,可以訂閱獲得最即時的資訊.
留言
張貼留言