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
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}`;
|
|
}
|