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;

}

後記

如果這篇文章對於你有幫助,可以幫忙分享給更多的人.文章內容如果有誤,可以在下方留言告知.本網站主要提供程式, 玩具相關資訊,可以訂閱獲得最即時的資訊.

留言

熱門文章

Google Play Console 2022 上架資訊,審核通過時間

[ 教學 ] 如何使用 Sourcetree 對 Github 進行版本控制 #Mac OS 版本控制

2021申請 Android Developer 開發者帳號及上架步驟