功能特点:支持浏览器与Node.js环境,包含DOM操作示例
// 基础转换函数
function intToCapital(n) {
if (typeof n !== 'number' || !Number.isInteger(n) || n <= 0) {
throw new Error('数字必须为正整数');
}
// 使用模运算实现循环映射
const index = (n - 1) % 26;
return String.fromCharCode(65 + index);
}
// 批量转换函数
function intToCapitalBatch(numbers) {
return numbers.map(num => intToCapital(num));
}
// DOM操作示例
function setupConverter() {
const input = document.getElementById('numberInput');
const result = document.getElementById('resultDisplay');
if (input && result) {
input.addEventListener('input', function() {
const num = parseInt(this.value);
if (!isNaN(num) && num > 0) {
try {
result.textContent = intToCapital(num);
result.style.color = '#a30000';
} catch (e) {
result.textContent = '输入错误';
result.style.color = '#d60000';
}
} else {
result.textContent = '—';
result.style.color = '#333';
}
});
}
}
// 测试代码
console.log('数字小写转换大写公式测试结果:');
console.log('----------------------------------------');
const testNumbers = [1, 10, 26, 27, 52, 53, 100];
testNumbers.forEach(num => {
try {
console.log(`${num.toString().padStart(3, ' ')} → ${intToCapital(num)}`);
} catch (e) {
console.log(`${num.toString().padStart(3, ' ')} → 错误: ${e.message}`);
}
});
console.log('----------------------------------------');
console.log('批量转换测试:');
const batchNumbers = [1, 5, 10, 15, 20, 25, 26, 27, 52, 53];
const batchResults = intToCapitalBatch(batchNumbers);
batchNumbers.forEach((num, index) => {
console.log(`${num.toString().padStart(3, ' ')} → ${batchResults[index]}`);
});