android 将阿拉伯数字转为英文单词

示例:英语中的100为One hundred、224为two hundred twenty four、0为zero

public class NumberToWord {private static String[] unitsMap = new String[]{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};private static String[] tensMap = new String[]{"zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};private static final String GREEN = "\u001b[1;32m";private static final String BLUE = "\u001b[1;34m";private static final String YELLOW = "\u001b[1;33m";private static final String RESET = "\u001b[0m";public NumberToWord() {}public static void Check() {System.out.println("\u001b[1;33m[Test] \u001b[1;32mConvert 10556444 to Word \u001b[1;34m" + Convert(10556444) + "\u001b[0m");}public static String Convert(int number) {if (number == 0) {return "zero";} else if (number < 0) {return "minus " + Convert(Math.abs(number));} else {String words = "";if (number / 1000000000 > 0) {words = words + Convert(number / 1000000000) + " billion ";number %= 1000000000;}if (number / 1000000 > 0) {words = words + Convert(number / 1000000) + " million ";number %= 1000000;}if (number / 1000 > 0) {words = words + Convert(number / 1000) + " thousand ";number %= 1000;}if (number / 100 > 0) {words = words + Convert(number / 100) + " hundred ";number %= 100;}if (number > 0) {if (number < 20) {words = words + unitsMap[number];} else {words = words + tensMap[number / 10];if (number % 10 > 0) {words = words + "-" + unitsMap[number % 10];}}}return words;}}
}

或者直接使用依赖库:

  1. 在android项目应用gradle中添加以下内容: implementation ‘com.github.mjm918:NumberToWord:1.0’
  2. 然后在项目gradle中添加以下内容: allprojects { repositories { … maven { url ‘https://jitpack.io’ } } }
  3. 使用:调用函数 NumberToWord.Convert(100);

亲测可用。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部