J'ai une requête qui incorpore des champs calculés. La colonne "Total" produit une valeur avec 2 décimales, mais les colonnes Commission et Net_Receipt ont 4 positions décimales malgré le fait que le code recherche exactement le même format. Quelqu'un peut-il me dire pourquoi et comment corriger les deux derniers à 2 DP.Puzzle Décimales
SELECT `exhibition_sales`.`name`,
`exhibition_sales`.`category`,
`exhibition_sales`.`catologue_number`,
`exhibition_sales`.`title`,
`exhibition_sales`.`quantity`,
`exhibition_sales`.`unit_price`,
`exhibition_sales`.`commision_rate`,
`exhibition_sales`.quantity * `unit_price` AS `Total`,
`exhibition_sales`.quantity * `commision_rate` * unit_price AS `Commision`,
`exhibition_sales`.quantity * `unit_price` - `quantity` * `unit_price` * `commision_rate` AS `Net_Receipt`
FROM exhibition_sales
ORDER BY `exhibition_sales`.`name` ASC
Le nombre de décimales doit être géré dans la couche de présentation. La base de données donne des nombres, pas des données formatées. Il peut y avoir des définitions pour la précision dans la base de données, mais cela ne change pas où la présentation devrait être faite. Très probablement les définitions de colonnes ont des précisions différentes mais vous ne les avez pas montrées. –
Je ne suis pas sûr qu'il y ait vraiment une question ici. Si vous perdez _precision_ (c'est-à-dire si les données sont tronquées, etc.), cela peut être source de préoccupation. –
Répondez ci-dessous. D'ailleurs: S'il vous plaît ne pas stocker la monnaie dans un numérique. Cela échouera toujours. Ne prétends pas que ce n'est pas le cas. Stockez l'unité la plus basse, c'est-à-dire: cents, sous la forme d'un entier. – user2722968