Stockage des valeurs de devise dans la base de données MySQL

Cette question a été posée de nombreuses fois avant, mais j'ai trouvé des avis divergents sur le sujet donc j'ai pensé le mettre de nouveau dans l'espoir d'une plus unifiée conclusion.

Je voudrais stocker la valeur de la monnaie dans ma base de données. Supposons que toutes les entrées sont le même type de devise (USD par exemple) et que les valeurs positives et négatives sont autorisées.

Ma première pensée serait de stocker la valeur d'un entier signé en termes de la plus petite unité de la devise. Par exemple, si je veux stocker la valeur de 1,25$, je voudrais insérer 125 dans la base de données, depuis la plus petite unité de USD est de 0,01$. La bonne chose à propos de cette méthode est que MySQL va automatiquement arrondir à l'entier le plus proche. Par exemple, si la valeur est $1.259, je pouvais insérer 125.9qui sera automatiquement arrondi et stockées en tant que 126 ou à 1,26$.

Alors, qu'en pensez-vous? Est-ce une bonne approche ou est-il un meilleur moyen?

source d'informationauteur David Jones