There are infinitely many rational numbers between 0 and 5.
In fact, between any two distinct real numbers, there are infinitely many rational numbers. This is because the rational numbers are dense in the real number line, meaning that between any two real numbers, there exists a rational number.
To see why this is true, consider the decimal expansion of any two real numbers. There will always be a digit at some point in the expansion where the two numbers differ. We can then truncate the decimal expansion at that point and add a digit to the end to obtain a rational number between the two real numbers.
Therefore, there are infinitely many rational numbers between 0 and 5.