我想在Javascript:
中复制此公式(实际上来自Google表格)=TEXT(9,"0000000")
这将导致' 0000009'
这是否可以在没有额外逻辑的单一功能中实现?
答案 0 :(得分:1)
这样的函数可能如下所示:
function TEXT(n, format){
return format.substring(0,format.length - n.toString().length) + n;
}
答案 1 :(得分:1)
您还可以使用递归,其中pad
是所需最终字符串的长度。
function text(str, pad) {
return pad > 1 ? '0' + text(str, --pad) : str;
}
text(9, 8); // 00000009
稍微优化的版本:
function text(str, n, padder) {
if (n === 1) return str;
return text(padder + str, --n, padder);
}
text(9, 8, '0');
答案 2 :(得分:1)
您可以使用此lib https://www.npmjs.com/package/excel-style-dataformatter
所以对于你的情况:
result = dataFormatter.format(9, "Number", "0000000")