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=' |
|
||||
| **utf8ToBin(s)** | UTF-8 vers Binaire | - 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 |
|
||||
|
||||
## La liste des Fonctions Annexes :
|
||||
|
@ -70,7 +70,7 @@ switch ($currentpage) {
|
||||
break;
|
||||
case '/views/function-views/convertRomanArabicNumbers.php':
|
||||
$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';
|
||||
break;
|
||||
case '/views/function-views/armstrongNumber.php':
|
||||
|
@ -263,7 +263,7 @@ function binToUtf8(s){
|
||||
}
|
||||
|
||||
// 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
|
||||
const correspondances =
|
||||
[
|
||||
@ -313,9 +313,27 @@ function convertRomanArabicNumbers(nombre) {
|
||||
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
|
||||
function armstrongNumber(nombre) {
|
||||
let nombreString = nombre.toString();
|
||||
function armstrongNumber(number) {
|
||||
let nombreString = number.toString();
|
||||
let nombreStringLength = nombreString.length;
|
||||
|
||||
let result = 0;
|
||||
|
@ -212,14 +212,23 @@ $(function () {
|
||||
$("#submitConvertRomanArabicNumbers").click(function()
|
||||
{
|
||||
let numbersValue = $('#numbersArabic').val();
|
||||
let convertNumberType = $("#convertNumberType option:selected").text();
|
||||
|
||||
if(isEmptyValue(numbersValue)) {
|
||||
$('.results').html(emptyMessageError);
|
||||
}
|
||||
else if (!isNaN(parseInt(numbersValue))) {
|
||||
let result = convertRomanArabicNumbers(parseFloat(numbersValue.replace(/\s/g,'')));
|
||||
else if (!isNaN(parseInt(numbersValue)) && convertNumberType === "Nombre Romain") {
|
||||
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.`);
|
||||
}
|
||||
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 {
|
||||
$('.results').html(messageError);
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<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>
|
||||
<td><a href="./function-views/armstrongNumber.php">Nombre d'Armstrong</a></td>
|
||||
|
@ -14,6 +14,12 @@
|
||||
<div class="form-group">
|
||||
<label for="numbersArabic">Entrez votre nombre :</label>
|
||||
<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="col-12">
|
||||
<br>
|
||||
|
Reference in New Issue
Block a user