logo El diario de Pepe Molina (Caricatos)

yo

Vamos a dar nuestra solución al desafío Desafios Javascript, ronda 2 referente a los números romanos


Última caricatura

IV Asamblea de la AEC: IV Asamblea General de la Asociación Española de Caricaturistas

IV Asamblea de la AEC

RSS de las imágenes: rss


La Cita

Nadie se ha perdido aún en un camino recto

Johann Wolfgang von Goethe, poeta y dramaturgo alemán (1749-1832).


En esta zona están las páginas personales del autor.


Mis clientes ahora también son mis amigos (aunque les cobre).


En Mis amigos Informáticos hay una pequeña colección de páginas de colegas webmasters..


En Mis amigos artistas podemos encontrar artistas de cualquier índole (dibujantes, pintores, escritores...)


Las recomendaciones que proponemos son de índole variada.


Aquí un cajón de sastre de enlaces.


Nos referencian desde sitios de toda índole.


Puede contribuir a mantener esta página con su donativo.


botón pay-pal

Desafío javascript: números romanos

emoticón de Caricatos Publicado el día 22 de octubre de 2011
id=48; categorías: Vicisitudes de un Webmaster, Programación

Vamos a dar nuestra solución al desafío Desafios Javascript, ronda 2 referente a los números romanos:

Number.prototype.romano = function()	{
	function Ms(n) {
		if (n > 1000) return "M" + Ms(n - 1000)
		else return "";
	}

	function Cs(n) {
		ciento = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"];
		return ciento[parseInt(n / 100)];
	}

	function Xs(n) {
		decena = ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"];
		return decena[parseInt(n / 10)];
	}

	function Is(n) {
		unidad = ["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
		return unidad[parseInt(n)];
	}

	if (this < 4000) {
		return Ms(this) + Cs(this % 1000) + Xs(this % 100) + Is(this % 10);
	}
	else
		return "número no soportado...";

}

La solución es añadir al objeto Number el método "romano", y controlar que sea menor de cuatromil (4000) para evitar implementaciones complejas a la vez que facilitar la presentación de resultados.

Hemos creado funciones internas que determinen los valores romanos según las unidades, decenas, centena y unidades de millar, esta última con un método recursivo y el resto desde un array de cadenas de texto.

Zona de comentarios

Este apunte aún no tiene comentarios.

Evaluación

Valoración de esta página: (apunte.48) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Historial de navegación

Esta página ha sido visitada en 4036 ocasiones


Disponemos de rss sindicar

Y del Mapa del sitio, además del sitemap.xml.


Aquí podemos encontrar los apuntes más visitados.

"Top 10" reemplaza a la sección Últimos apuntes.


Una buena forma de buscar un apunte es a partir de su categoría.


También es posible buscar apuntes por medio de las etiquetas (tags).


Hemos decidido poner al alcance de todos algunos comodines.

Adjuntamos una versión reducida del "buscador interno" que vemos en la lista anterior:

Buscar en apuntes

También estamos recopilando antiguas páginas del sitio.


Desde este recuadro se puede hacer una búsqueda cronológica.


Se puede crear una postal nueva desde el enlace del sector "Otras páginas del dominio", o editar la que sale en el recuadro, pulsando sobre ella..

../diario.imagen.php?id=2&max=480
enlace a la postal
Copyright © 2002-2018 www.pepemolina.com
RSS rss | Ver Mapa del sitio