// 将阿拉伯数字转换为罗马数字 function intToRoman(num) { if (num < 1) { return num; } const romanNumerals = [ {limit: 1000000, roman: "M̄"}, // 使用 M̄ 表示 1000000 {limit: 900000, roman: "C̄M̄"}, {limit: 500000, roman: "D̄"}, {limit: 400000, roman: "C̄D̄"}, {limit: 100000, roman: "C̄"}, {limit: 90000, roman: "X̄C̄"}, {limit: 50000, roman: "L̄"}, {limit: 40000, roman: "X̄L̄"}, {limit: 10000, roman: "X̄"}, {limit: 9000, roman: "ĪX̄"}, {limit: 5000, roman: "V̄"}, {limit: 4000, roman: "ĪV̄"}, // 使用 ĪV̄ 表示 4000 {limit: 1000, roman: "M"}, {limit: 900, roman: "CM"}, {limit: 500, roman: "D"}, {limit: 400, roman: "CD"}, {limit: 100, roman: "C"}, {limit: 90, roman: "XC"}, {limit: 50, roman: "L"}, {limit: 40, roman: "XL"}, {limit: 10, roman: "X"}, {limit: 9, roman: "IX"}, {limit: 5, roman: "V"}, {limit: 4, roman: "IV"}, {limit: 1, roman: "I"} ]; let roman = ''; // 遍历罗马数字数组,将其值减去相应的阿拉伯数字 for (let i = 0; i < romanNumerals.length; i++) { while (num >= romanNumerals[i].limit) { roman += romanNumerals[i].roman; num -= romanNumerals[i].limit; } } return roman; }