首页 > 解决方案 > 以另一种方式将数字转换为单词

问题描述

我正在创建一个将数字转换为单词的程序。为此,我想玩很多代码。有没有办法在短时间内做到这一点?

我的代码

public String ConvertViews(int number){
    // 1
    int a = 999;
    int b = 1099;
    int c = 1200;
    int d = 1299;
    int e = 1300;
    int f = 1399;
    int g = 1400;
    int h = 1499;
    int i = 1500;
    int j = 1599;
    int k = 1600;
    int l = 1699;
    int m = 1700;
    int n = 1799;
    int o = 1800;
    int p = 1899;
    int q = 1900;
    int r = 1999;
    int s = 2000;
    int t = 2099;
    int u = 2100;
    int v = 2199;
    int w = 2200;
    int x = 2299;
    int y = 2300;
   
 
    if(number < b && number > a){
      return "1k+";
    } else if (number < a){
      return "number";
    } else if(number > b && number < c){
      return "1.1k+";
    }else if(number > b && number < d){
      return "1.2k+";
    }else if(number > d && number < g){
      return "1.3k+";
    }else if (number > f && number < i){
      return "1.4k+";
    }else if(number > h && number < k){
      return "1.5k+";
    }else if(number > j && number < m){
      return "1.6k+";
    }else if(number > l && number < o){
      return "1.7k+";
    }else if(number > n && number < q){
      return "1.8k+";
    }else if(number > p && number < s){
      return "1.9k+";

标签: javanumbers

解决方案


尝试这个。

public static String convertViews(int n) {
    if (n < 1000) return "number";
    String f = String.format("%.1f",
        Math.floor(n / 100) / 10).replaceAll("\\.0*$", "");
    return f + "k+";
}

推荐阅读