I don't believe there is an existing built in class to find random between two specific numbers.
One can be easily written though, by basing off of the min and max provided.
public static double randBetween(double dMin, double dMax)
// either extend Random and call to this, or make random. I'll make random here
Random r = new Random();
return dMin + (r.nextDouble() * (dMax - dMin));
Done and done.
To format to two decimal places, you may use the printf:
System.out.printf("%.2f\n", randBetween(5.0, 20));
Or mathematically calculate it by cast, multiply and divide:
double d = randBetween(5, 20);
d = ((double)(int)(d * 100)) / 100;