Проблема возникает из-за того, что значение, которое вы получаете из поля ввода, имеет тип строки (string), а не число (number). Поэтому при умножении строки на число происходит неожиданное поведение.
// Функция для конвертации валюты
function сonvertCurrency() {
fetch('https://v6.exchangerate-api.com/v6/353aabff81d47df9512e9535/latest/RUB')
.then(function (response) {
return response.json();
})
.then(function (data) {
console.log(data);
// Получение значения из поля ввода и преобразование его в число
let inputValue = parseFloat(document.querySelector('.value').value);
// Получение выбранной валюты из селектора
let currency = document.querySelector('.currency-selector').value;
// Проверка на NaN (не число)
if (!isNaN(inputValue)) {
// Умножение числа на соответствующий курс конвертации
let result;
if (currency === 'USD') {
result = inputValue * data.conversion_rates.USD;
} else if (currency === 'EUR') {
result = inputValue * data.conversion_rates.EUR;
}
// Вывод результата с двумя знаками после запятой
document.querySelector('.dollar').innerHTML = result.toFixed(2);
} else {
// Вывод сообщения об ошибке в случае некорректного ввода
document.querySelector('.dollar').innerHTML = "Некорректное значение";
}
})
.catch(function (error) {
// Обработка ошибок fetch
console.log("Ошибка при получении данных:", error);
});
}
// Обработчик изменения значения селектора
document.querySelector('.currency-selector').addEventListener('change', сonvertCurrency);
Кстати, у вас в названии функции сonvertCurrency русская буква "с".
PS: как весело отвечать с gpt )