Euro ➜ TL Hesaplama Euro (€): Güncel Kur (EUR/TRY): Kur yükleniyor… Sonuç (₺): 0,00 (function(){ function setText(id, txt){ document.getElementById(id).textContent = txt; } function toTL(n){ return (Math.round(n * 100) / 100).toFixed(2).replace('.', ','); } // Euro kuru getir (primary + fallback) function kurGetirEuro(){ // 1) exchangerate.host return fetch("https://api.exchangerate.host/latest?base=EUR&symbols=TRY") .then(r => r.ok ? r.json() : Promise.reject('HTTP')) .then(d => { if(!d || !d.rates || !d.rates.TRY) throw 'RATE'; return d.rates.TRY; }) .catch(() => { // 2) open.er-api.com fallback return fetch("https://open.er-api.com/v6/latest/EUR") .then(r => r.ok ? r.json() : Promise.reject('HTTP')) .then(d => { if(!d || !d.rates || !d.rates.TRY) throw 'RATE'; return d.rates.TRY; }); }); } // Hesaplama fonksiyonu window.hesaplaEuro = function(){ var eur = parseFloat(document.getElementById('eur').value.replace(',', '.')) || 0; var kur = parseFloat((document.getElementById('kurEur').value || '').replace(',', '.')) || 0; if(!kur){ setText('sonucEur', '0,00'); return; } setText('sonucEur', toTL(eur * kur)); }; // DOM hazır olunca çalıştır document.addEventListener('DOMContentLoaded', function(){ kurGetirEuro().then(function(kur){ var kurStr = (Math.round(kur * 100) / 100).toFixed(2).replace('.', ','); document.getElementById('kurEur').value = kurStr; document.getElementById('durumEur').textContent = 'Kur güncellendi.'; window.hesaplaEuro(); }).catch(function(err){ document.getElementById('durumEur').textContent = 'Kur verisi alınamadı. İnternet/Koruma ayarlarını kontrol edin.'; document.getElementById('kurEur').value = ''; window.hesaplaEuro(); console.error('Kur hatası:', err); }); }); })();