65 lines
2.1 KiB
JavaScript
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;
|
|
});
|
|
});
|