Hola,
aqui podrás ver la función y su utilidad
number_format
por lo que veo, según tengas definida la base de datos, estás guardando ese dato con la coma (,) para separación de decimales, si en la base de datos esa definido como punto(.) la separación de decimales no te cogerá nunca ese decimal, por eso te devuelve 0 en la parte decimal.
como tú dices, quizás no te sea necesario darle formato al número para insertarlo en tu Base de datos(pero ojo con el separador decimal), y cuando vayas a mostrarlo en reportes darle el formato que tu quieras para hacerlo más comprensible a los ojos del lector.
saludos