Conversion de nombre romain en nombre arabe
This commit is contained in:
parent
48a9989fd8
commit
a2631210fe
@ -25,7 +25,8 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
|||||||
| **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise. [exchangeratesapi.io](https://exchangeratesapi.io/) | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' |
|
| **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise. [exchangeratesapi.io](https://exchangeratesapi.io/) | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' |
|
||||||
| **utf8ToBin(s)** | UTF-8 vers Binaire | - s : la valeur à convertir |
|
| **utf8ToBin(s)** | UTF-8 vers Binaire | - s : la valeur à convertir |
|
||||||
| **binToUtf8(s)** | Binaire vers UTF-8 | - s : la valeur à convertir |
|
| **binToUtf8(s)** | Binaire vers UTF-8 | - s : la valeur à convertir |
|
||||||
| **convertRomanArabicNumbers(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
|
| **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
|
||||||
|
| **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir |
|
||||||
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong ou non. | - nombre : le nombre à tester |
|
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong ou non. | - nombre : le nombre à tester |
|
||||||
|
|
||||||
## La liste des Fonctions Annexes :
|
## La liste des Fonctions Annexes :
|
||||||
|
@ -70,7 +70,7 @@ switch ($currentpage) {
|
|||||||
break;
|
break;
|
||||||
case '/views/function-views/convertRomanArabicNumbers.php':
|
case '/views/function-views/convertRomanArabicNumbers.php':
|
||||||
$title = "Conversion d'un nombre arabe en nombre romain";
|
$title = "Conversion d'un nombre arabe en nombre romain";
|
||||||
$description = "Convertis un nombre arabe en nombre romain.";
|
$description = "Convertis un nombre arabe en nombre romain (et l'inverse aussi).";
|
||||||
$image = 'https://function.divlo.fr/img/function-image/convertRomanArabicNumbers.png';
|
$image = 'https://function.divlo.fr/img/function-image/convertRomanArabicNumbers.png';
|
||||||
break;
|
break;
|
||||||
case '/views/function-views/armstrongNumber.php':
|
case '/views/function-views/armstrongNumber.php':
|
||||||
|
@ -263,7 +263,7 @@ function binToUtf8(s){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Convertis un nombre arabe en nombre romain
|
// Convertis un nombre arabe en nombre romain
|
||||||
function convertRomanArabicNumbers(nombre) {
|
function convertArabicToRoman(nombre) {
|
||||||
// Tableau contenant chaque correspondance entre un nombre arabe et un nombre romain
|
// Tableau contenant chaque correspondance entre un nombre arabe et un nombre romain
|
||||||
const correspondances =
|
const correspondances =
|
||||||
[
|
[
|
||||||
@ -313,9 +313,27 @@ function convertRomanArabicNumbers(nombre) {
|
|||||||
return chiffresRomains;
|
return chiffresRomains;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convertis un nombre romain en nombre arabe
|
||||||
|
function convertRomanToArabic(str) {
|
||||||
|
var result = 0;
|
||||||
|
// the result is now a number, not a string
|
||||||
|
var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
|
||||||
|
var roman = ["M", "CM","D","CD","C", "XC", "L", "XL", "X","IX","V","IV","I"];
|
||||||
|
for (var i = 0;i<=decimal.length;i++) {
|
||||||
|
while (str.indexOf(roman[i]) === 0){
|
||||||
|
//checking for the first characters in the string
|
||||||
|
result += decimal[i];
|
||||||
|
//adding the decimal value to our result counter
|
||||||
|
str = str.replace(roman[i],'');
|
||||||
|
//remove the matched Roman letter from the beginning
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
// Vérifie si un nombre fait partie des nombres d'Armstrong ou non
|
// Vérifie si un nombre fait partie des nombres d'Armstrong ou non
|
||||||
function armstrongNumber(nombre) {
|
function armstrongNumber(number) {
|
||||||
let nombreString = nombre.toString();
|
let nombreString = number.toString();
|
||||||
let nombreStringLength = nombreString.length;
|
let nombreStringLength = nombreString.length;
|
||||||
|
|
||||||
let result = 0;
|
let result = 0;
|
||||||
|
@ -212,14 +212,23 @@ $(function () {
|
|||||||
$("#submitConvertRomanArabicNumbers").click(function()
|
$("#submitConvertRomanArabicNumbers").click(function()
|
||||||
{
|
{
|
||||||
let numbersValue = $('#numbersArabic').val();
|
let numbersValue = $('#numbersArabic').val();
|
||||||
|
let convertNumberType = $("#convertNumberType option:selected").text();
|
||||||
|
|
||||||
if(isEmptyValue(numbersValue)) {
|
if(isEmptyValue(numbersValue)) {
|
||||||
$('.results').html(emptyMessageError);
|
$('.results').html(emptyMessageError);
|
||||||
}
|
}
|
||||||
else if (!isNaN(parseInt(numbersValue))) {
|
else if (!isNaN(parseInt(numbersValue)) && convertNumberType === "Nombre Romain") {
|
||||||
let result = convertRomanArabicNumbers(parseFloat(numbersValue.replace(/\s/g,'')));
|
let result = convertArabicToRoman(parseInt(numbersValue.replace(/\s/g,'')));
|
||||||
$('.results').html(`<b>${formatNumberResult(numbersValue.replace(/\s/g,''))}</b> s'écrit <b>${result}</b> en chiffres romains.`);
|
$('.results').html(`<b>${formatNumberResult(numbersValue.replace(/\s/g,''))}</b> s'écrit <b>${result}</b> en chiffres romains.`);
|
||||||
}
|
}
|
||||||
|
else if (convertNumberType === "Nombre Arabe") {
|
||||||
|
if (!isNaN(parseInt(numbersValue))) {
|
||||||
|
$('.results').html(`<b>${numbersValue}</b> est déjà en chiffres arabes.`);
|
||||||
|
} else {
|
||||||
|
let result = convertRomanToArabic(numbersValue);
|
||||||
|
$('.results').html(`<b>${numbersValue}</b> s'écrit <b>${result}</b> en chiffres arabes.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$('.results').html(messageError);
|
$('.results').html(messageError);
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="./function-views/convertRomanArabicNumbers.php">Conversion d'un nombre arabe en nombre romain</a></td>
|
<td><a href="./function-views/convertRomanArabicNumbers.php">Conversion d'un nombre arabe en nombre romain</a></td>
|
||||||
<td>Convertis un nombre arabe en nombre romain.</td>
|
<td>Convertis un nombre arabe en nombre romain (et l'inverse aussi).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="./function-views/armstrongNumber.php">Nombre d'Armstrong</a></td>
|
<td><a href="./function-views/armstrongNumber.php">Nombre d'Armstrong</a></td>
|
||||||
|
@ -14,6 +14,12 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="numbersArabic">Entrez votre nombre :</label>
|
<label for="numbersArabic">Entrez votre nombre :</label>
|
||||||
<input name="numbersArabic" type="text" id="numbersArabic" placeholder="(e.g : 50)" class="form-control">
|
<input name="numbersArabic" type="text" id="numbersArabic" placeholder="(e.g : 50)" class="form-control">
|
||||||
|
<br>
|
||||||
|
<label for="convertNumberType">Convertir en : </label> <br>
|
||||||
|
<select id="convertNumberType">
|
||||||
|
<option value="Nombre Romain">Nombre Romain</option>
|
||||||
|
<option value="Nombre Arabe">Nombre Arabe</option>
|
||||||
|
</select>
|
||||||
<div class="form-row text-center">
|
<div class="form-row text-center">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<br>
|
<br>
|
||||||
|
Reference in New Issue
Block a user