Passaggio all'ora legale 31 marzo 2019 02:0003:00 sposta avanti l'orologio di 1 ora (si dorme 1 ora in meno)
Versione migliorata della precedente funzione JavaScript per convertire i numeri da cifre a lettere scritte per esteso (come sugli assegni).

Ad esempio 2234 diventa DueMilaDueCentoTrentaQuattro.
Questa versione supporta più moltiplicatori della precedente, quali: Mila, Milioni, Miliardi, Bilioni, Biliardi, Trilioni, Triliardi, Quadrilioni e Quadriliardi.
Vedi anche Milione

Il codice della funzione è il seguente (sgart.convNumLett2):
var sgart = sgart || {};

/* http://www.sgart.it
 * converte i numeri da cifre a lettere
 */
sgart.convNumLett2 = function (n, abbr, separator) {
  if (isNaN(n) == true) {
    return "!!! Inserisci un numero valido !!!";
  }
  if (n.indexOf('.') >= 0 || n.indexOf(',') >= 0) {
    return "!!! Solo numeri interi !!!";
  }

  if (n == '0') {
    return "ZERO";
  }
  const lettere = {
    numeri: [null, "Uno", "Due", "Tre", "Quattro", "Cinque", "Sei", "Sette", "Otto", "Nove", "Dieci", "Undici", "Dodici", "Tredici", "Quattordici", "Quindici", "Sedici", "Diciassette", "Diciotto", "Diciannove"],
    decine: [null, null, "Venti", "Trenta", "Quaranta", "Cinquanta", "Sessanta", "Settanta", "Ottanta", "Novanta"],
    decine1: [null, null, "Vent", "Trent", "Quarant", "Cinquant", "Sessant", "Settant", "Ottant", "Novant"],
    cento: "Cento",
    multipli: [null, "Mila", "Milioni", "Miliardi", "Bilioni", "Biliardi", "Trilioni", "Triliardi", "Quadrilioni", "Quadriliardi"],
    multipli1: [null, "Mille", "Milione", "Miliardo", "Bilione", "Biliardo", "Trilione", "Triliardo", "Quadrilione", "Quadriliardo"],
    un: "Un"
  };

  let numero = n.replace(/^\s+|\s+$/g, "");
  if (numero.length > lettere.multipli.length * 3) {
    return "!!! Numero troppo grande !!!";
  }
  let abbrNum = "";
  if (abbr === true) {
    if (numero.length > 2) {
      abbrNum = numero.substr(numero.length - 2, 2);
      numero = numero.substr(0, numero.length - 2) + "00";
    }
  }

  //per semplificare il calcolo arrotondo la lunghezza a un mutiplo di 3
  const padding3 = numero.length % 3;
  if (padding3 === 1)
    numero = "00" + numero;
  else if (padding3 === 2)
    numero = "0" + numero;
  const len = numero.length;

  // trovo quanti gruppi di 3 cifre ci sono
  let mult3 = numero.length / 3 - 1;

  const sep = separator === true ? " " : "";
  let result = "";
  let i = 0;
  while (i < len) {
    console.log("group", numero.substr(i, 3));
    let v = parseInt(numero.substr(i, 3));
    let r = "";
    //cifra delle centinaia
    const n100 = parseInt(numero.charAt(i))
    if (n100 > 0) {
      if (n100 === 1) {
        r += sep + lettere.cento;
      } else {
        r += sep + lettere.numeri[n100] + sep + lettere.cento;
      }
    }
    //decine e unità
    const n10 = parseInt(numero.substr(i + 1, 2));
    if (n10 > 0) {
      if (n10 < 20) {
        // numeri da 1 a 19
        r += sep + lettere.numeri[n10];
      } else {
        //nueri da 20 a 99
        const n20 = parseInt(numero.charAt(i + 1));
        const n2 = parseInt(numero.charAt(i + 2));
        r += sep + (n2 === 1 ? lettere.decine1[n20] : lettere.decine[n20]);
        if (n2 > 0) {
          r += sep + lettere.numeri[n2];
        }
      }
    }
    if (v > 0 && mult3 > 0) {
      if (v === 1)
        result += (mult3 === 1 ? "" : lettere.un + sep) + lettere.multipli1[mult3];
      else
        result += r + sep + lettere.multipli[mult3];
    } else {
      result += r;
    }
    i += 3;
    mult3--;
  }
  return result + (abbrNum.length > 0 ? " / " + abbrNum : "");
}


La funzione per formattare, con separatore delle migliaia (punto), una stringa di numeri è la seguente:
/* http://www.sgart.it
 * data una stringa di numeri come: 1234098
 * ritorna una stringa formattata con separatore delle migliaia: 1.234.098
 */
sgart.formatMoney = function (n) {
  if (n == null || n.length === 0) return "-";  // nessun numero passato
  if (/^\d+$/.test(n) === false) return "!";  //errore ammessi solo numeri
  var m = n.length % 3;
  if (m === 0) m = 3;
  let sep = ".";
  let s = "";
  let i = 0;
  while (i < n.length) {
    if (m === 0) {
      s += sep;
      m = 3;
    }
    s += n[i];
    i++;
    m--;
  }
  return s;
};