Java 用另一种方法把数字转换成单词
我正在创建一个将数字转换为单词的程序。要做到这一点,我想玩很多代码。有没有什么方法可以在短时间内做到这一点 我的代码Java 用另一种方法把数字转换成单词,java,numbers,Java,Numbers,我正在创建一个将数字转换为单词的程序。要做到这一点,我想玩很多代码。有没有什么方法可以在短时间内做到这一点 我的代码 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;
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+";
公共字符串转换视图(整数){
// 1
INTA=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;
INTL=1699;
int m=1700;
int n=1799;
INTO=1800;
int p=1899;
int q=1900;
int r=1999年;
int s=2000;
int t=2099;
INTU=2100;
int v=2199;
int w=2200;
int x=2299;
int y=2300;
如果(编号a){
返回“1k+”;
}否则,如果(数字b&&编号b&&d编号d&&编号f&&编号h&&编号j&&m编号l&&编号n&&编号p&&N编号
请下次更好地描述您的问题。但请尝试使用此代码,如果我正确理解您的问题,此代码应该可以工作。要使用“Ranges”类,您必须将其作为库添加到项目中。在此代码中,我将您的整数转换为范围,并单独询问指定的整数是否在范围内
public static String ConvertViews(int number) {
Range<Integer> firstIf = Range.between(999,1099);
Range<Integer> secondIf = Range.between(1099,1200);
Range<Integer> thirdIf = Range.between(1099,1299);
Range<Integer> fourthIf = Range.between(1299,1400);
Range<Integer> fifthIf = Range.between(1399,1500);
Range<Integer> sixthIf = Range.between(1499,1600);
Range<Integer> seventhIf = Range.between(1599,1700);
Range<Integer> eighthIf = Range.between(1699,1800);
Range<Integer> ninthIf = Range.between(1799,1900);
Range<Integer> tenthIf = Range.between(1899,2000);
if (firstIf.contains(number)) {
return "1k+";
} else if (number < 999) {
return "number";
} else if (secondIf.contains(number)) {
return "1.1k+";
}else if (thirdIf.contains(number)) {
return "1.2k+";
} else if (fourthIf.contains(number)) {
return "1.3k+";
} else if (fifthIf.contains(number)) {
return "1.4k+";
} else if (sixthIf.contains(number)) {
return "1.5k+";
} else if (seventhIf.contains(number)) {
return "1.6k+";
} else if (eighthIf.contains(number)) {
return "1.7k+";
} else if (ninthIf.contains(number)) {
return "1.8k+";
} else if (tenthIf.contains(number)) {
return "1.9k+";
}
return "ERROR: no match found";
}
公共静态字符串视图(整数){
Range firstIf=介于(9991099)之间的范围;
范围secondIf=范围介于(10991200)之间;
范围thirdIf=范围介于(10991299)之间;
量程四分之一=量程介于(12991400)之间;
Range fifthIf=范围介于(13991500)之间;
第六范围=介于(14991600)之间的范围;
第七范围=介于(15991700)之间的范围;
范围八分之一=范围介于(16991800)之间;
范围ninthIf=范围介于(17991900)之间;
量程tenthIf=量程介于(18992000)之间;
if(firstIf.contains(number)){
返回“1k+”;
}否则,如果(编号<999){
返回“数字”;
}else if(secondIf.contains(number)){
返回“1.1k+”;
}如果(第三个包含(编号)){
返回“1.2k+”;
}else if(四分之一包含(数字)){
返回“1.3k+”;
}else if(第五个包含(数字)){
返回“1.4k+”;
}else if(第六个包含(数字)){
返回“1.5k+”;
}else if(第七个if.包含(编号)){
返回“1.6k+”;
}如果(八分之一包含(数字)){
返回“1.7k+”;
}else if(第九个包含(编号)){
返回“1.8k+”;
}else if(十分之一包含(数字)){
返回“1.9k+”;
}
返回“错误:未找到匹配项”;
}
试试这个
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+";
}
公共静态字符串视图(int n){
如果(n<1000)返回“数字”;
String f=String.format(“%.1f”,
数学地板(n/100)/10.replaceAll(“\\.0*$”,”);
返回f+“k+”;
}
欢迎使用堆栈溢出。请使用,阅读,然后阅读。作为提示:不要显式列出数字,然后进行比较;执行类似(number/1000
使用double
)的计算,然后将结果格式化为所需的输出字符串,这样比较短。请检查此项