convertCurrency in all the way

This commit is contained in:
Divlo 2019-09-16 20:39:30 +02:00
parent 1739942c61
commit ce67cfbe44
8 changed files with 47 additions and 28 deletions

View File

@ -22,7 +22,7 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
| **convertDistance (firstValue, unitFirstValue, unitFinalValue)** | Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre. | - firstValue : Le nombre que vous voulez convertir - unitFirstValue : l'unité du nombre que vous voulez convertir - unitFinalValue : l'unité de votre nombre après la conversion |
| **filterStudents(filteredLetter, students)** | Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée. | - filteredLetter : la lettre à filtré - students : la liste des prénoms |
| **randomQuote()** | Génère aléatoirement une citation ou un proverbe. | Aucun paramètre |
| **convertCurrency(currency, euroValue)** | Convertis des euros (€) dans une autre devise. [exchangeratesapi.io](https://exchangeratesapi.io/) | - currency : la devise à avoir après conversion - euroValue : le nombre d'euros (€) à convertir |
| **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 |

View File

@ -55,7 +55,7 @@ header {
.container {
padding-bottom: 25px;
}
#firstValue {
.inlineInput {
width: 25% !important;
display: inline;
}

View File

@ -60,7 +60,7 @@ switch ($currentpage) {
break;
case '/views/function-views/convertCurrency.php':
$title = 'Conversion de devise';
$description = "Convertis des euros (€) dans une autre devise.";
$description = "Convertis une valeur dans une devise dans une autre devise.";
$image = 'https://function.divlo.fr/img/function-image/convertCurrency.png';
break;
case '/views/function-views/convertBinaryText.php':

View File

@ -166,42 +166,45 @@ function getRandomQuote() {
return '" ' + randomQuotes["quote"] + ' " <br> <br> - ' + randomQuotes["source"];
}
// Convertis des euros (€) dans une autre devise
function convertCurrency(currency, euroValue) {
// Convertis une valeur dans une devise dans une autre devise
function convertCurrency(value, currency, url) {
$.ajax({
url : 'https://api.exchangeratesapi.io/latest',
url : url,
dataType : "json",
success: function (jsonFixer) {
switch(currency) {
case '£':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.GBP) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.GBP) * value)).toFixed(2) + ' ' + currency);
break;
case '$ Américain':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.USD) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.USD) * value)).toFixed(2) + ' ' + currency);
break;
case '$ Canadien':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.CAD) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.CAD) * value)).toFixed(2) + ' ' + currency);
break;
case '$ Australien':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.AUD) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.AUD) * value)).toFixed(2) + ' ' + currency);
break;
case '$ Mexicain':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.MXN) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.MXN) * value)).toFixed(2) + ' ' + currency);
break;
case 'Fr':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.CHF) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.CHF) * value)).toFixed(2) + ' ' + currency);
break;
case '₽':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.RUB) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.RUB) * value)).toFixed(2) + ' ' + currency);
break;
case 'R$':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.BRL) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.BRL) * value)).toFixed(2) + ' ' + currency);
break;
case '¥':
$('.results').html(formatNumberResult(euroValue) + ' € = ' + ((parseFloat(jsonFixer.rates.JPY) * euroValue)).toFixed(2) + ' ' + currency);
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.JPY) * value)).toFixed(2) + ' ' + currency);
break;
case '€':
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + ((parseFloat(jsonFixer.rates.EUR) * value)).toFixed(2) + ' ' + currency);
break;
default:
$('.results').html(formatNumberResult(euroValue) + ' €');
$('.results').html(formatNumberResult(value) + ' €');
break;
}
},

View File

@ -165,19 +165,22 @@ $(function () {
$("#submitConvertCurrency").click(function()
{
let euroValue = $('#euroValue').val();
let euroToCurrency = $("#euroToCurrency option:selected").val();
if(isEmptyValue(euroValue) || isNaN(parseFloat(euroValue)))
let value = $('#value').val();
let currencyOfTheValue = $("#currencyOfTheValue option:selected").val();
let currencyAfter = $("#currencyAfter option:selected").val();
if(isEmptyValue(value) || isNaN(parseFloat(value)))
{
$('.results').html(emptyMessageError);
$("#euroValue, #submitConvertCurrency").click(function() {
$("#value, #submitConvertCurrency").click(function() {
document.location.replace("../function-views/convertCurrency.php");
});
}
else
{
euroValue = parseFloat(euroValue);
convertCurrency(euroToCurrency, euroValue);
// let url = 'https://api.exchangeratesapi.io/latest';
let url = 'https://api.exchangeratesapi.io/latest?base=' + currencyOfTheValue;
value = parseFloat(value);
convertCurrency(value, currencyAfter, url);
}
});

View File

@ -46,7 +46,7 @@
</tr>
<tr>
<td><a href="./function-views/convertCurrency.php">Conversion de devise</a></td>
<td>Convertis des euros () dans une autre devise.</td>
<td>Convertis une valeur dans une devise dans une autre devise.</td>
</tr>
<tr>
<td><a href="./function-views/convertBinaryText.php">Conversion d'un texte en binaire et vice-versa</a></td>

View File

@ -10,12 +10,24 @@
<p class="pt-3 text-center"><?php echo $description?></p>
<br>
<div class="form-group">
<label for="euroValue">Entrez le nombre d'euros () à convertir :</label>
<label for="value">Entrez le nombre à convertir et sélectionner la devise de celui-çi :</label>
<br>
<input name="euroValue" type="text" id="euroValue" placeholder="(e.g : 50)" class="form-control">
<input name="value" type="text" class="inlineInput" id="value" placeholder="(e.g : 50)" class="form-control">
<select id="currencyOfTheValue">
<option value="EUR">Euro () - EUR</option>
<option value="GBP">Livre sterling (£) - GBP</option>
<option value="USD">Dollar Américain ($) - USD</option>
<option value="CAD">Dollar Canadien ($) - CAD</option>
<option value="AUD">Dollar Australien ($) - AUD</option>
<option value="MXN">Peso Mexicain ($) - MXN</option>
<option value="CHF">Franc Suisse (Fr) - CHF</option>
<option value="RUB">Rouble Russe () - RUB</option>
<option value="BRL">Réal brésilien (R$) - BRL</option>
<option value="JPY">Yen (¥) - JPY</option>
</select>
<br> <br>
<label for="euroToCurrency">Choisissez la devise que voulez avoir après conversion :</label> <br>
<select id="euroToCurrency">
<label for="currencyAfter">Choisissez la devise que voulez avoir après conversion :</label> <br>
<select id="currencyAfter">
<option value="£">Livre sterling (£) - GBP</option>
<option value="$ Américain">Dollar Américain ($) - USD</option>
<option value="$ Canadien">Dollar Canadien ($) - CAD</option>
@ -25,6 +37,7 @@
<option value="">Rouble Russe () - RUB</option>
<option value="R$">Réal brésilien (R$) - BRL</option>
<option value="¥">Yen (¥) - JPY</option>
<option value="">Euro () - EUR</option>
</select>
<br>
<div class="form-row text-center">

View File

@ -12,7 +12,7 @@
<div class="form-group">
<label for="firstValue">Entrez la distance que vous voulez convertir et sélectionner l'unité de celle-çi :</label>
<br>
<input name="firstValue" type="text" id="firstValue" placeholder="(e.g : 50)" class="form-control">
<input name="firstValue" type="text" class="inlineInput" id="firstValue" placeholder="(e.g : 50)" class="form-control">
<select id="firstValueUnit">
<option value="pm">pm</option>
<option value="nm">nm</option>