1. 程式人生 > 其它 >字串前後補0達到指定資料長度

字串前後補0達到指定資料長度

由於目前在做微控制器應用,並且與藍芽裝置傳遞資料

我目前遇到的需求是,舉例陣列:[ 2001 ,0 ,4 ,10 , 100 ] 中的每項均需要轉為16進位制,

並且轉成的16進位制資料每項都需要是4個佔位字元,如果不夠需要前面加 0 來填充到四位

例如 2001.toString(16) = 7D1,就需要在前面加一個0變成07D1才可以

JS提供了這類方法可以使得字串在前後新增指定字元用於填充長度

當給定數字位數不足8位時,則在左邊補充0以補足8位數。

let num = 900;
let nStr = num.toString().padStart(8,'0');
console.log(nStr); //00000900

padStart()


用另一個字串填充當前字串(重複,如果需要的話),以便產生的字串達到給定的長度。填充從當前字串的開始(左側)應用的。

語法

str.padStart(targetLength [, padString])

引數

targetLength:當前字串需要填充到的目標長度。如果這個數值小於當前字串的長度,則返回當前字串本身。
padString (可選):填充字串。如果字串太長,使填充後的字串長度超過了目標長度,則只保留最左側的部分,其他部分會被截斷。此引數的預設值為 " "(U+0020)。
'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); //
"foofoofabc" 'abc'.padStart(6,"123465"); // "123abc" 'abc'.padStart(8, "0"); // "00000abc" 'abc'.padStart(1); // "abc"


padEnd()
用一個字串填充當前字串(如果需要的話則重複填充),返回填充後達到指定長度的字串。從當前字串的末尾(右側)開始填充。

語法,引數等同上

'abc'.padEnd(10); // "abc "
'abc'.padEnd(10, "foo"); // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1); //
"abc"