做一个中医项目时后台返回是阿拉伯数字,项目需求是需要转化为中文数字,记录一下转化方法,感觉要比那种switch...case...拓展性好一点。因为当时不会超过一千,所以就写到了百位,其他需求可以自行更改一下。
当然默认传的是整数类型的。
public class NumberToChineseUtil { public static String toChinese(String string) { String[] num_Chinese = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; String[] unit_Chinese = {"十", "百}; String result = ""; int n = string.length(); for (int i = 0; i < n; i++) { int num = string.charAt(i) - '0'; if (i != n - 1 && num != 0) { if (n == 2 && num == 1) { result += unit_Chinese[n - 2 - i]; } else { result += num_Chinese[num] + unit_Chinese[n - 2 - i]; } } else { if (i == n-1 && num == 0) { } else { result += num_Chinese[num]; } } } Log.e("hu", result); return result; } }}