linux - swift補0 - 確保int變量的長度是2位,否則在前面加0,使長度變為2位




swift string格式化 (2)

用於通用填充字符串是否為數字

不需要管道echowc或使用while循環。

在Bash中,你可以得到這樣一個字符串的長度: ${#inputNo}

而且由於你可以做子字符串,所以你可以這樣做:

if [[ ${#input} < 2 ]] 
then
    inputNo="00${inputNo}"
    inputNo="${inputNo: -2}"
fi

如何檢查一個int變量($ inputNo)來查看它是否是2個或更多的十進制數字?

例:

inputNo="5"

應改為:05

inputNo="102"

應該單獨留下:102

我想過使用wcif語句,但是wc -m似乎並沒有將實際的字符傳遞給wc ,因為wc似乎總是給出給出的字符+1。

但是我不知道如何在當前輸入的數字前加0。


你可以使用http://bash-hackers.org/wiki/doku.php/commands/builtin/printf ,這裡有一個例子:

the_mac="0:13:ce:7:7a:ad"

# lowercase hex digits
the_mac="$(printf "%02x:%02x:%02x:%02x:%02x:%02x" 0x${the_mac//:/ 0x})"

# or the uppercase-digits variant
the_mac="$(printf "%02X:%02X:%02X:%02X:%02X:%02X" 0x${the_mac//:/ 0x})"