我有下面的代碼在Node.js的逃生%d:的Javascript:在字符串
var str = '',
ch;
for(/*standard for loop*/){
// some code ...
ch = '%' + buffer[i].toString(16);
str += ch;
}
現在,當buffer[i].toString(16)
回報,讓我們說d6
,導致字符串不包含%d6
,但NaN6
代替。
現在我知道%d用在C的sprinf中,但afaik JavaScript和Node都有sprintf或等價函數。
我需要%d6
在我的字符串,所以我能做些什麼來防止JS自動將%d
(和其他人,如%f
)轉換爲NaN?
NaN不代表數字。它通常發生在您嘗試將數字函數應用於字符串時。 –
他可能爲了自己的目的使用toString(),因爲toString()應該沒有參數(16)。用我的解決方案。 –
參數16意味着他想要返回一個十六進制數字:http://www.w3schools.com/jsref/jsref_tostring_number.asp –