34
1000000000: "Billion",42
for (let base in numberMap) {43
bases.push(parseInt(base, 10));45
bases = bases.sort((a, b) => b - a);48
for (let base in bigNumberMap) {49
bigBases.push(parseInt(base, 10));51
bigBases = bigBases.sort((a, b) => b - a);53
var numberToWords = function (num) {55
if (num === 0) return numberMap[num];56
bigBases.forEach((base) => {57
base = parseInt(base, 10);58
let baseAsString = base + "";59
let nums = (num / base) << 0;60
let remainder = num - nums * base;62
[res, nums] = getForHundredBase(res, nums);63
res += baseAsString.length > 1 ? " " + bigNumberMap[base + ""] : "";70
function getForHundredBase(res, num) {71
bases.forEach((base) => {72
base = parseInt(base, 10);73
[num, res] = getNums(num, base, res);78
function getNums(num, base, res) {79
let nums = (num / base) << 0;80
let baseAsString = base + "";81
if (nums > 1 || (nums == 1 && baseAsString.length > 2)) {82
res += res === "" ? res : " ";83
res += numberMap[nums] + " " + numberMap[baseAsString];84
} else if (nums == 1) {85
res += res === "" ? res : " ";86
res += numberMap[baseAsString];88
return [num - nums * base, res];