【发布时间】:2020-07-26 19:17:38
【问题描述】:
完成转换后,我正在尝试将 javascript 数字转换为文字转换器到打字稿类型。我在下面的块中看到一个错误
此条件将始终返回 'true',因为类型 'string' 和 '0' 没有重叠。
export const inWords = (num: any) => {
if ((num = num.toString()).length > 9) return 'overflow';
const n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
if (!n) return;
let str = '';
str += n[1] !== 0 ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : '';
str += n[2] !== 0 ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : '';
str += n[3] !== 0 ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : '';
str += n[4] !== 0 ? (a[Number(n[4])] || b[n[4][0]] + ' ' + a[n[4][1]]) + 'hundred ' : '';
str +=
n[5] !== 0
? (str !== '' ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) + 'only '
: '';
return str;
};
我不知道这个错误
【问题讨论】:
-
n[1] !== 0, 应该是 n[1] !== "0"
标签: javascript typescript