UNPKG

rosaenlg-n2words

Version:

Convert numbers to words, in multiple languages

66 lines (63 loc) 1.96 kB
// Copyright Wael TELLAT // SPDX-License-Identifier: MIT import N2WordsBase from '../classes/N2WordsBase.mjs'; export default function () { N2WordsBase.call(this); this.negative_word = 'minus'; this.separator_word = 'komma'; this.ZERO = 'null'; this.cards = [ { '1000000000000000000000000000000000': 'quintillard' }, { '1000000000000000000000000000000': 'quintillion' }, { '1000000000000000000000000000': 'quadrillard' }, { '1000000000000000000000000': 'quadrillion' }, { '1000000000000000000000': 'trillard' }, { 1000000000000000000: 'trillion' }, { 1000000000000000: 'billard' }, { 1000000000000: 'billion' }, { 1000000000: 'millard' }, { 1000000: 'million' }, { 1000: 'tusen' }, { 100: 'hundre' }, { 90: 'nitti' }, { 80: 'åtti' }, { 70: 'sytti' }, { 60: 'seksti' }, { 50: 'femti' }, { 40: 'førti' }, { 30: 'tretti' }, { 20: 'tjue' }, { 19: 'nitten' }, { 18: 'atten' }, { 17: 'sytten' }, { 16: 'seksten' }, { 15: 'femten' }, { 14: 'fjorten' }, { 13: 'tretten' }, { 12: 'tolv' }, { 11: 'elleve' }, { 10: 'ti' }, { 9: 'ni' }, { 8: 'åtte' }, { 7: 'syv' }, { 6: 'seks' }, { 5: 'fem' }, { 4: 'fire' }, { 3: 'tre' }, { 2: 'to' }, { 1: 'en' }, { 0: 'null' }, ]; this.merge = (lpair, rpair) => { // {'one':1}, {'hundred':100} const ltext = Object.keys(lpair)[0]; const lnum = parseInt(Object.values(lpair)[0]); const rtext = Object.keys(rpair)[0]; const rnum = parseInt(Object.values(rpair)[0]); if (lnum == 1 && rnum < 100) return { [rtext]: rnum }; else if (lnum < 100 && lnum > rnum) return { [`${ltext}-${rtext}`]: lnum + rnum }; else if (lnum >= 100 && rnum < 100) return { [`${ltext} og ${rtext}`]: lnum + rnum }; else if (rnum > lnum) return { [`${ltext} ${rtext}`]: lnum * rnum }; return { [`${ltext}, ${rtext}`]: lnum + rnum }; }; }