Создайте конвертер валют с помощью JavaScript
В этом уроке мы создадим конвертер валют с использованием JavaScript, который легко конвертирует валюту в валюту любой другой страны. Прежде чем мы начнем, каждый должен знать, что такое API и как их использовать для получения самых последних обменных курсов, поскольку мы будем использовать api.exchangerate-api.com для получения информации в реальном времени. курсы конвертации валют. Какова цель преобразователя тока и как его сделать?
См. также
Как преобразовать числа в слова с помощью PHP
Что такое конвертер валют?
Конвертер валют – это инструмент, позволяющий конвертировать одну валюту в другую. Например, если вы из США и путешествуете в Европу, вам нужно будет использовать конвертер валют для конвертации долларов США в евро.
Создать валюту обмена HTML-дизайна
HTML означает язык гипертекстовой разметки. Это язык разметки. Его главная задача — структурировать наш проект. Мы структурируем наш проект с помощью этого языка разметки. Итак, давайте посмотрим на наш HTML-код.
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>How to Create a Currency Converter using JavaScript</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <!-- linking style.css file--> <link rel="stylesheet" href="style.css"> </head> <body> <!-- Currency Converter --> <h1 class="heading text-center"> Currency Converter </h1> <hr> <div class="container"> <div class="main"> <div class="form-group"> <label for="amount">Amount to Convert :</label> <input type="text" class="form-control searchBox" placeholder="0.00" id="amount" required> </div> <div class="row"> <div class="col-sm-6"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text">From</span> </div> <?php include_once "countryList.php"; ?> <select class="form-control from" id="sel1"> <option value="">Select Country</option> <?php foreach ($currency_list as $code => $countryName) { ?> <option value="<?php echo $code ?>"><?php echo $countryName; ?> (<?php echo $code; ?>)</option> <?php } ?> </select> </div> </div> <div class="col-sm-6"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text">To</span> </div> <select class="form-control to" id="sel2"> <option value="">Select Country</option> <?php foreach ($currency_list as $code => $countryName) { ?> <option value="<?php echo $code ?>"><?php echo $countryName; ?> (<?php echo $code; ?>)</option> <?php } ?> </select> </div> </div> </div> <div class="text-center"> <!-- convert button --> <button type="submit" class="btn btn-success convert m-2"> Convert </button> </div> </div> <div id="finalAmount" class="text-center"> <!-- Display the converted amount --> <h2>Converted Amount : <span class="finalValue" style="color:green;"></span> </h2> </div> </div> <!-- linking script.js file --> <script src="script.js"></script> </body> </html>
PHP-массив всех названий, кодов и символов валют
В этом файле все названия валют и список кодов в массиве PHP. Название, код и символы валюты PHP. Вы также можете перейти на страницу github.
countryList.php
<?php // count 168 $currency_list = array( "AFA" => "Afghan Afghani", "ALL" => "Albanian Lek", "DZD" => "Algerian Dinar", "AOA" => "Angolan Kwanza", "ARS" => "Argentine Peso", "AMD" => "Armenian Dram", "AWG" => "Aruban Florin", "AUD" => "Australian Dollar", "AZN" => "Azerbaijani Manat", "BSD" => "Bahamian Dollar", "BHD" => "Bahraini Dinar", "BDT" => "Bangladeshi Taka", "BBD" => "Barbadian Dollar", "BYR" => "Belarusian Ruble", "BEF" => "Belgian Franc", "BZD" => "Belize Dollar", "BMD" => "Bermudan Dollar", "BTN" => "Bhutanese Ngultrum", "BTC" => "Bitcoin", "BOB" => "Bolivian Boliviano", "BAM" => "Bosnia-Herzegovina Convertible Mark", "BWP" => "Botswanan Pula", "BRL" => "Brazilian Real", "GBP" => "British Pound Sterling", "BND" => "Brunei Dollar", "BGN" => "Bulgarian Lev", "BIF" => "Burundian Franc", "KHR" => "Cambodian Riel", "CAD" => "Canadian Dollar", "CVE" => "Cape Verdean Escudo", "KYD" => "Cayman Islands Dollar", "XOF" => "CFA Franc BCEAO", "XAF" => "CFA Franc BEAC", "XPF" => "CFP Franc", "CLP" => "Chilean Peso", "CLF" => "Chilean Unit of Account", "CNY" => "Chinese Yuan", "COP" => "Colombian Peso", "KMF" => "Comorian Franc", "CDF" => "Congolese Franc", "CRC" => "Costa Rican Colón", "HRK" => "Croatian Kuna", "CUC" => "Cuban Convertible Peso", "CZK" => "Czech Republic Koruna", "DKK" => "Danish Krone", "DJF" => "Djiboutian Franc", "DOP" => "Dominican Peso", "XCD" => "East Caribbean Dollar", "EGP" => "Egyptian Pound", "ERN" => "Eritrean Nakfa", "EEK" => "Estonian Kroon", "ETB" => "Ethiopian Birr", "EUR" => "Euro", "FKP" => "Falkland Islands Pound", "FJD" => "Fijian Dollar", "GMD" => "Gambian Dalasi", "GEL" => "Georgian Lari", "DEM" => "German Mark", "GHS" => "Ghanaian Cedi", "GIP" => "Gibraltar Pound", "GRD" => "Greek Drachma", "GTQ" => "Guatemalan Quetzal", "GNF" => "Guinean Franc", "GYD" => "Guyanaese Dollar", "HTG" => "Haitian Gourde", "HNL" => "Honduran Lempira", "HKD" => "Hong Kong Dollar", "HUF" => "Hungarian Forint", "ISK" => "Icelandic Króna", "INR" => "Indian Rupee", "IDR" => "Indonesian Rupiah", "IRR" => "Iranian Rial", "IQD" => "Iraqi Dinar", "ILS" => "Israeli New Sheqel", "ITL" => "Italian Lira", "JMD" => "Jamaican Dollar", "JPY" => "Japanese Yen", "JOD" => "Jordanian Dinar", "KZT" => "Kazakhstani Tenge", "KES" => "Kenyan Shilling", "KWD" => "Kuwaiti Dinar", "KGS" => "Kyrgystani Som", "LAK" => "Laotian Kip", "LVL" => "Latvian Lats", "LBP" => "Lebanese Pound", "LSL" => "Lesotho Loti", "LRD" => "Liberian Dollar", "LYD" => "Libyan Dinar", "LTC" => "Litecoin", "LTL" => "Lithuanian Litas", "MOP" => "Macanese Pataca", "MKD" => "Macedonian Denar", "MGA" => "Malagasy Ariary", "MWK" => "Malawian Kwacha", "MYR" => "Malaysian Ringgit", "MVR" => "Maldivian Rufiyaa", "MRO" => "Mauritanian Ouguiya", "MUR" => "Mauritian Rupee", "MXN" => "Mexican Peso", "MDL" => "Moldovan Leu", "MNT" => "Mongolian Tugrik", "MAD" => "Moroccan Dirham", "MZM" => "Mozambican Metical", "MMK" => "Myanmar Kyat", "NAD" => "Namibian Dollar", "NPR" => "Nepalese Rupee", "ANG" => "Netherlands Antillean Guilder", "TWD" => "New Taiwan Dollar", "NZD" => "New Zealand Dollar", "NIO" => "Nicaraguan Córdoba", "NGN" => "Nigerian Naira", "KPW" => "North Korean Won", "NOK" => "Norwegian Krone", "OMR" => "Omani Rial", "PKR" => "Pakistani Rupee", "PAB" => "Panamanian Balboa", "PGK" => "Papua New Guinean Kina", "PYG" => "Paraguayan Guarani", "PEN" => "Peruvian Nuevo Sol", "PHP" => "Philippine Peso", "PLN" => "Polish Zloty", "QAR" => "Qatari Rial", "RON" => "Romanian Leu", "RUB" => "Russian Ruble", "RWF" => "Rwandan Franc", "SVC" => "Salvadoran Colón", "WST" => "Samoan Tala", "STD" => "São Tomé and Príncipe Dobra", "SAR" => "Saudi Riyal", "RSD" => "Serbian Dinar", "SCR" => "Seychellois Rupee", "SLL" => "Sierra Leonean Leone", "SGD" => "Singapore Dollar", "SKK" => "Slovak Koruna", "SBD" => "Solomon Islands Dollar", "SOS" => "Somali Shilling", "ZAR" => "South African Rand", "KRW" => "South Korean Won", "SSP" => "South Sudanese Pound", "XDR" => "Special Drawing Rights", "LKR" => "Sri Lankan Rupee", "SHP" => "St. Helena Pound", "SDG" => "Sudanese Pound", "SRD" => "Surinamese Dollar", "SZL" => "Swazi Lilangeni", "SEK" => "Swedish Krona", "CHF" => "Swiss Franc", "SYP" => "Syrian Pound", "TJS" => "Tajikistani Somoni", "TZS" => "Tanzanian Shilling", "THB" => "Thai Baht", "TOP" => "Tongan Pa'anga", "TTD" => "Trinidad & Tobago Dollar", "TND" => "Tunisian Dinar", "TRY" => "Turkish Lira", "TMT" => "Turkmenistani Manat", "UGX" => "Ugandan Shilling", "UAH" => "Ukrainian Hryvnia", "AED" => "United Arab Emirates Dirham", "UYU" => "Uruguayan Peso", "USD" => "US Dollar", "UZS" => "Uzbekistan Som", "VUV" => "Vanuatu Vatu", "VEF" => "Venezuelan BolÃvar", "VND" => "Vietnamese Dong", "YER" => "Yemeni Rial", "ZMK" => "Zambian Kwacha", "ZWL" => "Zimbabwean dollar" ); ?>
Создать страницу CSS для стиля
Страница CSS для оформления HTML-страницы для оформления страницы конвертации валюты.
стиль.css
.heading { font-family: 'Roboto slab' sans-serif; margin: 35px auto 20px; font-weight: 600; font-size: 60px; } hr { border-top: 2px solid black; width: 50%; margin-bottom: 55px; } .main { width: 50vw; margin: auto; padding: 30px; border-radius: 5px; background: rgb(87,87,192); background: linear-gradient(45deg, rgba(87,87,192,1) 21%, rgba(136,132,202,1) 100%, rgba(0,212,255,1) 100%); color: white; } label { font-size: 20px; } .btn { width: 200px; } #finalAmount { font-family: 'Roboto slab' sans-serif; display: none; margin: 50px auto; } #finalAmount h2 { font-size: 50px; } .finalValue { font-family: 'Roboto slab' sans-serif; }
Создать страницу JavaScript
На этой странице мы создадим API-интерфейс Exchangerate-api.com JavaScript для конвертации текущей валюты в любую страну с использованием API JavaScript.
script.js
// Include api for currency change const api = "https://api.exchangerate-api.com/v4/latest/USD"; // For selecting different controls let search = document.querySelector(".searchBox"); let convert = document.querySelector(".convert"); let fromCurrecy = document.querySelector(".from"); let toCurrecy = document.querySelector(".to"); let finalValue = document.querySelector(".finalValue"); let finalAmount = document.getElementById("finalAmount"); let resultFrom; let resultTo; let searchValue; // Event when currency is changed fromCurrecy.addEventListener('change', (event) => { resultFrom = `${event.target.value}`; }); // Event when currency is changed toCurrecy.addEventListener('change', (event) => { resultTo = `${event.target.value}`; }); search.addEventListener('input', updateValue); // Function for updating value function updateValue(e) { searchValue = e.target.value; } // When user clicks, it calls function getresults convert.addEventListener("click", getResults); // Function getresults function getResults() { fetch(`${api}`) .then(currency => { return currency.json(); }).then(displayResults); } // Display results after conversion function displayResults(currency) { let fromRate = currency.rates[resultFrom]; let toRate = currency.rates[resultTo]; finalValue.innerHTML = ((toRate / fromRate) * searchValue).toFixed(2); finalAmount.style.display = "block"; }
Пожалуйста, нажмите на ссылку, чтобы увидеть больше сообщений в блоге.
https://webscodex.com/how-to-create-currency-converter-javascript/