If you're using Counter, then look in Counter object properties to set the number of decimal places (also note significant figures, the number of digits including before and after the decimal point).
When you set the counter, use Set Value and pass the number directly, don't worry about FloatToString$(). FloatToString$() is more for outputting the number inside text-based expressions, not inside counters.
Finally, if your number is not storing correctly in the counter, as in being rounded down, then add 0.0 to the final part of the expression.
So instead of setting counter to say 1/3, set it to 1/(3 + 0.0).
The reason why this happens is Fusion tries to not use decimal places if it doesn't think it needs it, and it works out whether it needs it by whether it sees a decimal point in the final part of the expression.
Calculations without decimal places are called integer math, and processors can do that faster than ones with decimal places, called floating-point math. Hence Fusion's preference to use integer math if it can.
Some objects won't let you use a decimal number in their properties, but allow you to use it by setting it by action. Counter is one of them; Initial Value won't store decimal places, but you can use Start of Frame > Counter: Set Value to work around it.