I can't seem to find a simple method that converts a decimal value to fraction form. I need this method for use in a larger program, so the method should be passed a double value and return a string.
EDIT: sorry, new here. I just wanted an idea about how I'd go about making one. The examples i've seen assign their own values to be used. The method would look like
public string convertype(double decimal){
(Statements)
return fraction;
}
public class Fraction {
private int numerator, denominator;
public Fraction(double decimal) {
String stringNumber = String.valueOf(decimal);
int numberDigitsDecimals = stringNumber.length() - 1 - stringNumber.indexOf('.');
int denominator = 1;
for (int i = 0; i < numberDigitsDecimals; i++) {
decimal *= 10;
denominator *= 10;
}
int numerator = (int) Math.round(decimal);
int greatestCommonFactor = greatestCommonFactor(numerator, denominator);
this.numerator = numerator / greatestCommonFactor;
this.denominator = denominator / greatestCommonFactor;
}
public String toString() {
return String.valueOf(numerator) + "/" + String.valueOf(denominator);
}
public static int greatestCommonFactor(int num, int denom) {
if (denom == 0) {
return num;
}
return greatestCommonFactor(denom, num % denom);
}
public static void main(String[] args) {
System.out.println(new Fraction(0.75));
}
}