java - How to convert a number to its ordinal word in java
问题描述
EG:
- 1 -> first
- 2 -> second
- 3 -> third
and so on.
I looked at ICU4J, but it only has the option to convert to ordinal numbers, eg:
- 1 -> 1st
- 2 -> 2nd
- 3 -> 3rd
But this is not what I want.
解决方案
我会用自定义枚举来做。您可以通过多种方式做到这一点,所以这只是一个粗略的例子来证明这一点。
import java.util.*;
import java.util.stream.*;
public class HelloWorld{
enum PhrasedNumber {
Zeroth, First, Second, Third, Fourth;
static List<String> enumNames = Stream.of(PhrasedNumber.values())
.map(PhrasedNumber::name)
.collect(Collectors.toList());
}
public static void main(String []args){
String phrase = PhrasedNumber.enumNames.get(2);
System.out.println("Hello World " + phrase);
}
}
输出如下所示:
Hello World Second
推荐阅读
- java - VSCode Java 文件路径垃圾邮件输出
- angular - formControlName 中的日期未使用反应形式获取值
- python - 如何在同一行打印输出?
- blueprism - 蓝棱镜进程与office 365 Excel交互缓慢
- javascript - 在反应中将链接作为dataFormatter返回时出现不变违规错误
- javascript - 如何在我的 Redux 应用程序的本地存储中存储我的状态?
- spring-boot - zipkin 错误在类路径资源中定义名称为“webMvcMetricsFilter”的 bean 创建错误
- android - 实例化类时未触发 Appcompatactivity onCreate()
- javascript - 当多个复选框/选择组合的下拉更改时选中一个复选框
- arrays - 在 PrintArray() 函数中出现分段错误