您好我是java新手可以帮助我吗?
此代码转换 2000至2k和1000000 1m等
22.12.1985
我需要一个代码来反转转换,例如 2k到2000和1m到1000000
答案 0 :(得分:1)
我只是通过在转换之前将值存储在ArrayList中来获得解决方案,并且它工作了osum。感谢大家的帮助:)。
答案 1 :(得分:0)
我已经发布了一个解决方案。需要适当的输入,因为不包括正确的验证。如果符合您的需要,请告诉我。您也可以根据需要添加/修改开关盒。
public class Test {
public static void main(String[] args) {
String values[] = {
"27",
"999",
"1.0 k",
"110.6 k",
"29.0 G",
"5m",
"5m30",
"2.7k",
"2k7",
"2k17",
"9.2 E",
"9.2EE"
};
Test test = new Test();
test.printValues(values);
}
private void printValues(String[] values) {
for (String value : values) {
if (isProperNumber(value)) {
printValue(value);
} else {
System.out.println("Not a proper number");
}
System.out.println("===================");
}
}
private void printValue(String value) {
String lastAlphabet = value.replaceAll("[^a-zA-Z]*$", "")
.replaceAll(".(?!$)", "");
long multiplier = 1L;
switch (lastAlphabet.toLowerCase()) {
case "k":
multiplier = 1_000L;
break;
case "m":
multiplier = 1_000_000L;
break;
case "g":
multiplier = 1_000_000_000L;
break;
case "t":
multiplier = 1_000_000_000_000L;
break;
case "p":
multiplier = 1_000_000_000_000_000L;
break;
case "e":
multiplier = 1_000_000_000_000_000_000L;
break;
default:
break;
}
String[] values = value.split(lastAlphabet);
if (multiplier == 1) {
System.out.println("" + values[0]);
} else {
double valueMultiplier = Double.parseDouble(values[0]);
double valueAdder;
try {
valueAdder = Double.parseDouble(values[1]);
} catch (ArrayIndexOutOfBoundsException ex) {
valueAdder = 0.0d;
}
double total = (valueMultiplier * multiplier) + valueAdder;
System.out.printf("%.0f\n", total);
}
}
private boolean isProperNumber(String value) {
value = value.replaceAll("\\s+", "");
String count = value.replaceAll("[.0-9]+", "");
return count.length() < 2;
}
}
答案 2 :(得分:0)
不用担心,只需使用简单的JS技巧,将Round数舍入到小数点后2位。
function somefunction(count){
if (count >= 1000) {
return Math.round((count/1000) * 10)/10+'k';
} else {
return count;
}
}
如果您想添加更多功能,那么如果将1000分配给百万或十亿,则添加更多其他功能,如果使您的代码更好,则仅添加2或3个其他内容即可。
答案 3 :(得分:-1)
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="50dp"
android:left="50dp"
android:right="50dp"
android:top="50dp">
<rotate android:fromDegrees="45">
<shape>
<size
android:width="200dp"
android:height="200dp"/>
<stroke
android:width="10dp"
android:color="#358165"/>
<solid android:color="#69BE9E"/>
</shape>
</rotate>
</item>
</layer-list>