You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5 KiB

function convertNumber() {
const number = document.getElementById('number').value.trim();
const fromBase = parseInt(document.getElementById('fromBase').value, 10);
const toBase = parseInt(document.getElementById('toBase').value, 10);
let decimalValue;
switch (fromBase) {
case 2:
decimalValue = parseInt(number, 2);
break;
case 8:
decimalValue = parseInt(number, 8);
break;
case 10:
decimalValue = parseInt(number, 10);
break;
case 16:
decimalValue = parseInt(number, 16);
break;
default:
decimalValue = NaN;
}
if (isNaN(decimalValue)) {
document.getElementById('result').innerText = '无效的输入或进制值!';
return;
}
let resultValue;
switch (toBase) {
case 2:
resultValue = decimalValue.toString(2);
break;
case 8:
resultValue = decimalValue.toString(8);
break;
case 10:
resultValue = decimalValue.toString(10);
break;
case 16:
resultValue = decimalValue.toString(16).toUpperCase(); // 转换为大写十六进制
break;
default:
resultValue = '无效的转换进制!';
}
document.getElementById('result').innerText = `转换结果: ${resultValue}`;
}