szamrendszer/szamrendszer.js

67 lines
2.2 KiB
JavaScript
Raw Normal View History

2025-02-09 12:18:52 +00:00
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;
// Convert input to decimal first
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";
}
// Convert decimal to target base
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 () {
2025-02-09 12:29:28 +00:00
const tempBase = inputBase.value;
2025-02-09 12:18:52 +00:00
inputBase.value = outputBase.value;
2025-02-09 12:29:28 +00:00
outputBase.value = tempBase;
const tempValue = inputValue.value;
inputValue.value = outputValue.value;
outputValue.value = tempValue;
2025-02-09 12:18:52 +00:00
});
2025-02-09 12:29:28 +00:00
});