Se está trabalhando com valores monetários, então com certeza float
não é a melhor opção, por causa dos problemas de precisão que já mencionei.
Nesse caso o ideal é usar tipos que não tem esse problema (também já citados na outra resposta), como o decimal
do Python (em PHP e JavaScript, procure por bibliotecas como "BigDecimal", ou "Money", tem várias).
Também existe a abordagem de trabalhar sempre com inteiros, representando a quantidade de centavos, como o @natanael755 já mencionou.
Independente da solução escolhida, lembre-se que valores monetários tem outros detalhes para tratar, como por exemplo regras de arredondamento (que varia muito conforme o contexto), etc (e bibliotecas dedicadas como o decimal
do Python fornecem amplo suporte a essas coisas).