Convertisseur en chiffres romains

by toubia95

HTML

<div id="display"></div>

CSS

/** PERFORMANCES
 * http://www.w3schools.com/js/js_performance.asp
 * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
*/

JavaScript

var num = 34;

// Iván Montes (@DrSlump) on 16 March 2008:
// http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter#comment-16107
function romanize(arabic) {
    var lookup = {
        M: 1000,
        CM: 900,
        D: 500,
        CD: 400,
        C: 100,
        XC: 90,
        L: 50,
        XL: 40,
        X: 10,
        IX: 9,
        V: 5,
        IV: 4,
        I: 1
    },
    roman = '',
    i;
    for (i in lookup) {
        while (arabic >= lookup[i]) {
            roman += i;
            arabic -= lookup[i];
        }
    }
    return roman;
}

// Iván Montes (@DrSlump) on 16 March 2008:
// http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter#comment-16129
function deromanize(roman) {
    var roman = roman.toUpperCase(),
        lookup = {
            I: 1,
            V: 5,
            X: 10,
            L: 50,
            C: 100,
            D: 500,
            M: 1000
        },
        arabic = 0,
        i = roman.length;
    while (i--) {
        if (lookup[roman[i]] < lookup[roman[i + 1]]) arabic -= lookup[roman[i]];
        else arabic += lookup[roman[i]];
    }
    return arabic;
}

// Performance.now() polyfill (aka perf.now())
// Paul Irish, 2015
// https://gist.github.com/paulirish/5438650
(function () {
    if ("performance" in window == false) {
        window.performance = {};
    }
    Date.now = (Date.now || function () { // thanks IE8
        return new Date().getTime();
    });
    if ("now" in window.performance == false) {
        var nowOffset = Date.now();
        if (performance.timing && performance.timing.navigationStart) {
            nowOffset = performance.timing.navigationStart
        }
        window.performance.now = function now() {
            return Date.now() - nowOffset;
        }
    }
})();

// Calcul de la vitesse d'execution de scripts
// Gilles Toubiana 16/11/2015
function speed() {
    'use strict';
    var result = "",
        i, j, p1, p2, func, duree = 1000,
  ...