我有一个字符串," 900.9 / 6.00%",我想要拆分成字符串只获取特定值" 6.00"同时特别重视" 6.0"乘以bettingAmount的2。
bettingAmount : 2.000
bettingAmount : 900.9/6.00%
我的代码:
String string = "900.9/6.00%";
String[] parts = string.split("/");
String part1 = parts[0]; // 900.9
String part2 = parts[1]; // 6.00%
这意味着第一个字符串将包含' /'之前的字符,第二个字符串将包含' /'之后的字符。但问题是我只需要获得价值" 6.0"。我怎样才能做到这一点?请建议
答案 0 :(得分:3)
基于substring
的解决方案
String xy="900.9/6.00%";
double result=Double.parseDouble(xy.substring(xy.indexOf("/")+1,xy.indexOf('%')))*2;
System.out.println(" result "+result); // result 12.0
相同的代码:
String xy="900.9/0.06%";
double result=Double.parseDouble(xy.substring(xy.indexOf("/")+1,xy.indexOf('%')))*2;
System.out.println(" result "+result); // result 0.12
答案 1 :(得分:1)
String[] parts = string.split("[/%]");
分割任何char /或%。
double pct = Double.parseDouble(part2);
pct *= 2; // or such
答案 2 :(得分:1)
你试过了吗?
double pct = Double.parseDouble(part2);
它取代了%。
然后正如乔普建议你做的那样:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e(LOG_TAG, "Service Started");
try {
}
} catch (Exception e) {
e.printStackTrace();
}
return START_STICKY;
}
: - )
答案 3 :(得分:1)
String valuetoSave = string.split("/")[1]
//valuetoSave = "6.00%"
valuetoSave = valuetoSave.split("%")[0]
//valuetoSave = "6.00"
答案 4 :(得分:0)
我认为可以用正则表达式做到这一点,但它可能有点复杂:
String REGEX = "^(\\d+\\.\\d+)/(\\d+\\.\\d+)";
String string = "900.9/6.00%";
String part1 = "";
String part2 = "";
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(string);
if(m.find()){
MatchResult mr = m.toMatchResult();
part1 = mr.group(1)
part2 = mr.group(2)
}
除此之外,您可以在拆分字符串之前删除“%”:
String string = "900.9/6.00%";
string = string .replace("%", "");
答案 5 :(得分:0)
感谢@codechat,
我修改了代码以获得0.12的结果
double result=Double.parseDouble(part6.substring(part6.indexOf("/")+1,part6.indexOf('%')))*2/100.0;
System.out.println(" result "+result); // result 0.12