szamrendszer/szamrendszer.js

65 lines
2.1 KiB
JavaScript

document.addEventListener("DOMContentLoaded", function () {
const inputValue = document.getElementById("érték");
const inputBase = document.getElementById("bevitel");
const outputBase = document.getElementById("kimenet");
const outputValue = document.getElementById("kiszámoltérték");
const convertButton = document.getElementById("számolás");
const swapButton = document.getElementById("felcserélés");
function convertNumber(value, fromBase, toBase) {
let decimalValue;
switch (fromBase) {
case "bináris":
decimalValue = parseInt(value, 2);
break;
case "oktális":
decimalValue = parseInt(value, 8);
break;
case "decimális":
decimalValue = parseInt(value, 10);
break;
case "hexadecimális":
decimalValue = parseInt(value, 16);
break;
default:
return "Hibás bemenet";
}
if (isNaN(decimalValue)) {
return "Érvénytelen szám";
}
switch (toBase) {
case "bináris":
return decimalValue.toString(2);
case "oktális":
return decimalValue.toString(8);
case "decimális":
return decimalValue.toString(10);
case "hexadecimális":
return decimalValue.toString(16).toUpperCase();
default:
return "Hibás átváltás";
}
}
convertButton.addEventListener("click", function () {
const value = inputValue.value.trim();
const fromBase = inputBase.value;
const toBase = outputBase.value;
outputValue.value = convertNumber(value, fromBase, toBase);
});
swapButton.addEventListener("click", function () {
const tempBase = inputBase.value;
inputBase.value = outputBase.value;
outputBase.value = tempBase;
const tempValue = inputValue.value;
inputValue.value = outputValue.value;
outputValue.value = tempValue;
});
});