diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java index 561a86959..6088a4395 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/math/NumberUtil.java @@ -1554,4 +1554,37 @@ public class NumberUtil extends NumberValidator { } return equals(toBigDecimal(n), BigDecimal.ZERO); } + + /** + * 整数转罗马数字
+ * 限制:[1,3999]的正整数 + * + * + * @param num [1,3999]的正整数 + * @return 罗马数字 + * @since 6.0.0 + * @author dazer + */ + public static String intToRoman(int num) { + if (num > 3999 || num < 1 ){ + return ""; + } + String[] thousands = {"", "M", "MM", "MMM"}; + String[] hundreds = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; + String[] tens = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; + String[] ones = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; + + return thousands[num / 1000] + + hundreds[(num % 1000) / 100] + + tens[(num % 100) / 10] + + ones[num % 10]; + } }