Convertire numeri in numeri romani in Javascript

Mattepuffo's logo
Convertire numeri in numeri romani in Javascript

Convertire numeri in numeri romani in Javascript

L'altro giorno avevo la necessità di convertire i numeri in numeri romani in Javascript per un sito web.

Qui sotto vi posto un esempio di codice.

Qui non c'è un controllo sul numero (nel senso che non controllo se è valido, maggiore di zero, ecc), e non c'è una parte HTML (ad esempio un form in cui inviare il numero da convertire).

Ma "solo" la funzione di conversione:

function conversione(numero) {
	const arr_primi = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
	const arr_decimali = ["X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"];
	const arr_centinaia = ["C", "CC", "CCC", "CO", "D", "DC", "DCC", "DCCC", "CM"];
	const arr_migliaia = ["M", "MM", "MMM", "MMMM"];

	const primi = numero % 10;
	const decimali = Math.floor(numero / 10) % 10;
	const centinaia = Math.floor(numero / 100) % 10;
	const migliaia = Math.floor(numero / 1000) % 10;

	let s = '';

	if (migliaia > 0) {
		s += arr_migliaia[migliaia - 1];
	}

	if (centinaia > 0) {
		s += arr_centinaia[centinaia - 1];
	}

	if (decimali > 0) {
		s += arr_decimali[decimali - 1];
	}

	if (primi > 0) {
		s += arr_primi[primi - 1];
	}

	return s;
}

console.log(conversione(2));
console.log(conversione(20));
console.log(conversione(200));
console.log(conversione(2000));

Enjoy!


Condividi

Commentami!