Sucede que tanto float como double en todo lenguaje tiene una precision determinada, si tu software digamos será de facturación básica por asi decirlo, no tienes que preocuparte por esto.
Es decir, no es como que 1.5+2.0 te vaya a dar 4.0 por decir algo, si no que si dividis 1.0546540894984984 entre 9.654654654651651651651 no vas a tener un resultado exacto, sino uno redondeado a la capacidad de float o double de la plataforma.
Ej. en VB6 existe un tipo de variable "Currency" que es mas capaz que el tipo "Double" y su uso, como el nombre sugiere, es para cuestiones financieras y tiene fijo 4 decimales (suficiente para describir 0.0001 centavo).
En otras palabras no se puede dar una respuesta general a este problema sin conocer que vas a hacer y en que lo vas a hacer.
Para esto están los analistas en sistema, ya que no todo es blanco o negro, si no que la respuesta es resultado de un "análisis" del problema.