Utilisateur:Eowyn Cwper/UnitsConverter.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
mw.loader.using('mediawiki.util', function () {

/*
Ce convertisseur d'unités a été développé par Orikrin1998
avec l'aide d'Euterpia (pour les unités de pression),
Juraastro (pour les unités de pression et leur correction) 
et Linedwell (pour la précieuse aide fournie en programmation).
 - https://fr.wikipedia.org/wiki/Utilisateur:Orikrin1998
 - https://fr.wikipedia.org/wiki/Utilisatrice:Euterpia
 - https://fr.wikipedia.org/wiki/Utilisateur:Juraastro
 - https://fr.wikipedia.org/wiki/Utilisateur:Linedwell
 
 Licence : tous droits réservés, conformément à la licence de JSFiddle
 Importation et adaptation autorisées depuis http://jsfiddle.net/Orikrin1998/rLJqM/
 
 Pour la liste des versions, voir le lien fourni ci-dessus
 Retours : https://fr.wikipedia.org/wiki/Discussion_utilisateur:Orikrin1998

 Convertisseur d'unités, version 1.0.4 pour Wikipédia

*/

function isInt(n) {
   return n % 1 === 0;
}

function unitsConverter() {
	
	var loopingType = true;
	while (loopingType) {
	    var typeConv = parseFloat(prompt("CONVERTISSEUR D'UNITÉS\nEntrer le numéro de la conversion à effectuer dans la case ci-dessous.\n\nUNITÉS DE DISTANCE OU DE VITESSE \n   1 = miles en kilomètres\n   2 = kilomètres en miles\n   3 = pouces en centimètres\n   4 = centimètres en pouces\n   5 = pieds en mètres\n   6 = mètres en pieds\n   7 = yards en mètres\n   8 = mètres en yards\n   9 = milles marins en kilomètres\n   10 = noeuds en kilomètres par heure \n   11 = kilomètres en milles marins\n   12 = kilomètres par heure en noeuds\n   13 = milliards de kilomètres en années-lumière\n   14 = millions de kilomètres en unités astronomiques\n   15 = unités astronomiques en années-lumière\n   16 = années-lumière en unités astronomiques\n   17 = mètres par seconde en kilomètres par heure\n   18 = kilomètres par heure en mètres par seconde \n\nUNITÉS DE TEMPS\n   19 = heures en minutes\n   20 = minutes en heures\n   21 = secondes en minutes\n   22 = secondes en heures\n\nDEVISES\n   23 = euros en francs français \n   24 = francs français en euros\n\nUNITÉS DE TEMPÉRATURE\n   25 = Kelvin en degrés Celsius\n   26 = degrés Celsius en Kelvin\n   27 = degrés Fahrenheit en degrés Celsius\n   28 = degrés Celsius en degrés Fahrenheit\n\nUNITÉS DE PRESSION\n   29 = bars en pascals\n   30 = pascals en bars\n   31 = bars en millimètres de mercure\n   32 = millimètres de mercure en bars\n   33 = bars en atmosphères standard\n   34 = atmosphères standard en bars\n   35 = pascals en millimètres de mercure\n   36 = millimètres de mercure en pascals\n   37 = pascals en atmosphères standard\n   38 = atmosphères standard en pascals\n   39 = millimètres de mercure en atmosphères standard\n   40 = atmosphères standard en millimètres de mercure\n\nUNITÉS DE POIDS\n   41 = livres anglaises en kilogrammes\n   42 = kilogrammes en livres anglaises\n   43 = onces anglo-saxonnes en grammes\n   44 = grammes en onces anglo-saxonnes").replace(",","."));
	
		if (isInt(typeConv)) {
			typeConv = Math.floor(typeConv);
		}
		
		if (typeConv == 1) {
			var rappelType = "de miles en kilomètres";
		} else if (typeConv == 2) {
			var rappelType = "de kilomètres en miles";
		} else if (typeConv == 3) {
			var rappelType = "de pouces en centimètres";
		} else if (typeConv == 4) {
			var rappelType = "de centimètres en pouces";
		} else if (typeConv == 5) {
			var rappelType = "de pieds en mètres";
		} else if (typeConv == 6) {
			var rappelType = "de mètres en pieds";
		} else if (typeConv == 7) {
			var rappelType = "de yards en mètres";
		} else if (typeConv == 8) {
			var rappelType = "de mètres en yards";
		} else if (typeConv == 9) {
			var rappelType = "de milles marins en kilomètres";
	        } else if (typeConv == 10) {
	    	        var rappelType = "de noeuds en kilomètres par heure";
		} else if (typeConv == 11) {
			var rappelType = "de kilomètres en milles marins";
	        } else if (typeConv == 12) {
	                var rappelType = "de kilomètres par heure en noeuds";
		} else if (typeConv == 13) {
			var rappelType = "de milliards de kilomètres en années-lumière";
		} else if (typeConv == 14) {
	                var rappelType = "de millions de kilomètres en unités astronomiques";
	        } else if (typeConv == 15) {
	                var rappelType = "d'unités astronomiques en années-lumière";
	        } else if (typeConv == 16) {
	                var rappelType = "d'années-lumière en unités astronomiques";
	        } else if (typeConv == 17) {
			var rappelType = "de mètres par seconde en kilomètres par heure";
		} else if (typeConv == 18) {
			var rappelType = "de kilomètres par heure en mètres par seconde";
		} else if (typeConv == 19) {
			var rappelType = "d'heures en minutes";
		} else if (typeConv == 20) {
			var rappelType = "de minutes en heures";
	        } else if (typeConv == 21) {
	                var rappelType = "de secondes en minutes";
		} else if (typeConv == 22) {
			var rappelType = "de secondes en heures";
		} else if (typeConv == 23) {
			var rappelType = "d'euros en francs français";
		} else if (typeConv == 24) {
			var rappelType = "de francs français en euros";
		} else if (typeConv == 25) {
			var rappelType = "de Kelvin en degrés Celsius";
		} else if (typeConv == 26) {
			var rappelType = "de degrés Celsius en Kelvin";
		} else if (typeConv == 27) {
			var rappelType = "de degrés Fahrenheit en degrés Celsius";
		} else if (typeConv == 28) {
			var rappelType = "de degrés Celsius en degrés Fahrenheit";
		} else if (typeConv == 29) {
			var rappelType = "de bars en pascals";
		} else if (typeConv == 30) {
			var rappelType = "de pascals en bars";
		} else if (typeConv == 31) {
			var rappelType = "de bars en millimètres de mercure";
		} else if (typeConv == 32) {
			var rappelType = "de millimètres de mercure en bars";
		} else if (typeConv == 33) {
			var rappelType = "de bars en atmosphères standard";
		} else if (typeConv == 34) {
			var rappelType = "d'atmosphères standard en bars";
		} else if (typeConv == 35) {
			var rappelType = "de pascals en millimètres de mercure";
		} else if (typeConv == 36) {
			var rappelType = "de millimètres de mercure en pascals";
		} else if (typeConv == 37) {
			var rappelType = "de pascals en atmosphères standard";
		} else if (typeConv == 38) {
			var rappelType = "d'atmosphères standard en pascals";
		} else if (typeConv == 39) {
			var rappelType = "de millimètres de mercure en atmosphères standard";
		} else if (typeConv == 40) {
			var rappelType = "d'atmosphères standard en millimètres de mercure";
		} else if (typeConv == 41) {
			var rappelType = "de livres anglaises en kilogrammes";
		} else if (typeConv == 42) {
			var rappelType = "de kilogrammes en livres anglaises";
		} else if (typeConv == 43) {
			var rappelType = "d'onces anglo-saxonnes en grammes"
		} else if (typeConv == 44) {
			var rappelType = "de grammes en onces anglo-saxonnes"
		}
		
		if (typeConv >= 1 && typeConv <= 44 && isInt(typeConv)) {
			loopingType = false;
		} else {
			alert("Type de conversion invalide");
		} 
	}
	
	var loopingA = true;
	var a = 0;
	while (loopingA) {
	    a = parseFloat(prompt("Entrer le nombre à convertir (" + rappelType + ") :"));
	    a = "" + a;
	    a = a.replace(",",".");
	    a = parseFloat(a);
	    if (isNaN(a) || a <= 0 && (typeConv < 26 || typeConv > 28)) {
	        alert("Nombre d'origine invalide");
	    } else {
	        loopingA = false;
	    }
	}
	
	if (typeConv == 1) {
		var result = a * 1.609;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
        a = "" + a;
		a = a.replace(".",",");
		alert(a + " miles font " + result + " kilomètres");
	} else if (typeConv == 2) {        
		var result = a / 1.609;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " kilomètres font " + result + " miles");
	} else if (typeConv == 3) {
		var result = a * 2.54;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " pouces font " + result + " centimètres");
	} else if (typeConv == 4) {
		var result = a / 2.54;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " centimètres font " + result + " pouces");
	} else if (typeConv == 5) {
		var result = a * 0.3048;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " pieds font " + result + " mètres");
	} else if (typeConv == 6) {
		var result = a / 0.3048;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " mètres font " + result + " pieds");
	} else if (typeConv == 7) {
		var result = a * 0.9144;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " yards font " + result + " mètres");
	} else if (typeConv == 8) {
		var result = a / 0.9144;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " mètres font " + result + " yards");
	} else if (typeConv == 9) {
		var result = a * 1.852;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " milles marins font " + result + " kilomètres");
    } else if (typeConv == 10) {
		var result = a * 1.852;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " noeuds font " + result + " kilomètres par heure");
	} else if (typeConv == 11) {
		var result = a / 1.852;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " kilomètres font " + result + " milles marins");
    } else if (typeConv == 12) {
		var result = a / 1.852;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " kilomètres par heure font " + result + " noeuds");
	} else if (typeConv == 13) {
		var result = a / 9460.73;
        result = Math.round(result * 100000) / 100000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " milliards de kilomètres font " + result + " années-lumière");
	} else if (typeConv == 14) {
        var result = a / 149.5978707;
        result = Math.round(result * 10000) / 10000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
        alert(a + " millions de kilomètres font " + result + " unités astronomiques");
    } else if (typeConv == 15) {
        var result = a * 0.000015812;
        result = Math.round(result * 1000000) / 1000000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
        alert(a + " unités astronomiques font " + result + " années-lumière");
    } else if (typeConv == 16) {
        var result = a / 0.000015812;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
        alert(a + " années-lumière font " + result + " unités astronomiques");
    } else if (typeConv == 17) {
		var result = (a / 1000) * 3600;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " mètres par secondes font " + result + " kilomètres par heure");
	} else if (typeConv == 18) {
		var result = (a / 3600) * 1000;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " kilomètres par heure font " + result + " mètres par seconde");
	} else if (typeConv == 19) {
		var result = a * 60;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " heures font " + result + " minutes");
	} else if (typeConv == 20) {
		var result = a / 60;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " minutes font " + result + " heures");
	} else if (typeConv == 21) {
		var result = a / 60;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " secondes font " + result + " minutes");
	} else if (typeConv == 22) {
		var result = a / 3600;
        result = Math.round(result * 10000) / 10000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " secondes font " + result + " heures");
	} else if (typeConv == 23) {
		var result = a * 6.56;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " euros font " + result + " francs français");
	} else if (typeConv == 24) {
		var result = a / 6.56;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " francs français font " + result + " euros");
	} else if (typeConv == 25) {
		var result = a - 273.15;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " Kelvin font " + result + " degrés Celsius");
	} else if (typeConv == 26) {
		var result = a + 273.15;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " degrés Celsius font " + result + " Kelvin");
	} else if (typeConv == 27) {
		var result = ((a - 32) * 5) / 9;
        result = Math.round(result * 10) / 10;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " degrés Fahrenheit font " + result + " degrés Celsius");
	} else if (typeConv == 28) {
		var result = ((a * 9) / 5) + 32;
        result = Math.round(result * 10) / 10;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " degrés Celsius font " + result + " degrés Fahrenheit");
	} else if (typeConv == 29) {
		var result = (a / 0.00001);
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " bars font " + result + " pascals");
	} else if (typeConv == 30) {
		var result = a * 0.00001;
        result = Math.round(result * 100000) / 100000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " pascals font " + result + " bars");
	} else if (typeConv == 31) {
		var result = a * 750.06;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " bars font " + result + " millimètres de mercure");
	} else if (typeConv == 32) {
		var result = a / 750.06;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " millimètres de mercure font " + result + " bars");
	} else if (typeConv == 33) {
		var result = a * 0.98692;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " bars font " + result + " atmosphères standard");
	} else if (typeConv == 34) {
		var result = a / 0.98692;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
        a = "" + a;
        var a = a.replace(".",",");
		alert(a + " atmosphères standard font " + result + " bars");
	} else if (typeConv == 35) {
		var result = a * 0.0075006;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " pascals font " + result + " millimètres de mercure");
	} else if (typeConv == 36) {
		var result = a / 0.0075006;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " millimètres de mercure font " + result + " pascals");
	} else if (typeConv == 37) {
		var result = a * 0.0000098692;
        result = Math.round(result * 100000) / 100000;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " pascals font " + result + " atmosphères standard");
	} else if (typeConv == 38) {
		var result = a / 0.0000098692;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " atmosphères standard font " + result + " pascal");
	} else if (typeConv == 39) {
		var result = a * 0.00131579;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " millimètres de mercure font " + result + " atmosphères standard");
	} else if (typeConv == 40) {
		var result = a / 0.00131579;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " atmosphères standard font " + result + " millimètres de mercure");
	} else if (typeConv == 41) {
		var result = a * 0.45359237;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " livres anglaises font " + result + " kilogrammes");
	} else if (typeConv == 42) {
		var result = a / 0.45359237;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".",",");
		alert(a + " kilogrammes font " + result + " livres anglaises");
	}  else if (typeConv == 43) {
		var result = a * 28.349;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".", ",");
		alert(a + " onces anglo-saxonnes font " + result + " grammes")
	} else if (typeConv == 44) {
		var result = a / 28.349;
        result = Math.round(result * 100) / 100;
        result = "" + result;
        result = result.replace(".",",");
		a = "" + a;
		a = a.replace(".", ",");
		alert(a + " grammes font " + result + " onces anglo-saxonnes")
	}
}

$(document).ready(function () {
	mw.util.addPortletLink('p-tb', 'javascript:void(unitsConverter())', 'Convertisseur d\'unités');
});

});