このメソッドが混合数 (2 ではなく 1 つの変数として格納されている (2 1/2) など) を受け入れるようにするには、助けが必要です。現在、2 つの別々のテキスト フィールドからの int と frac があります。
public double convertFrac(int whole, String frac){
if (frac == null || frac.equals(""))
return whole;
String[] parts = frac.split("/");
return whole + (double)Integer.parseInt(parts[0]) / (double)Integer.parseInt(parts[1]);
}
ボヘミアンからの提案のおかげでコードを編集しました。
あなたの基準によっては不格好かもしれませんが、私はそれを機能させました = D
public static double convertFrac(String frac){
String wholeStr, num, denom, fraction;
int whole = 0;
String[] parts = frac.split(" ");
wholeStr = parts[0];
whole = Integer.parseInt(wholeStr);
if(parts.length == 1){
return whole;
}
wholeStr = parts[0];
whole = Integer.parseInt(parts[0]);
fraction = parts[1];
String[] fracParts = fraction.split("/");
num = fracParts[0];
denom = fracParts[1];
return whole + (double)Integer.parseInt(fracParts[0]) / (double)Integer.parseInt(fracParts[1]);
}