This question already has answers here:
Is there a way in Java to convert an integer to its ordinal?
                                
                                    (12个答案)
                                
                        
                2年前关闭。
            
        

我正在使用以下代码检索序数:

public static String ordinal(int i) {
    String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
    switch (i % 100) {
    case 11:
    case 12:
    case 13:
        return i + "th";
    default:
        return i + sufixes[i % 10];

    }
}


输出:
一二三

如何从Java,Android中的这些序数中获取第一,第二,第三等字符串。

最佳答案

您可以使用我写的此类。只需将文件(包括许可证标头)添加到您的项目中,更新包声明,就可以像这样使用它。

Numerals ns = new Numerals();
System.out.println(ns.toWords(12048));
System.out.println(ns.toWords(12048, true));
System.out.println(ns.toWords(102500, false));
System.out.println(ns.toWords(102500, true));


哪个输出

一万二千四十八
一万二千四十八
十二万零五百
十二万零五分之一

toWords的第二个参数(如果已指定)确定是输出序数(true)还是正则数字(false)。您可以看一下它的工作原理。

08-17 18:06