Bonjour je souhaite récupérer des chiffres calculés en utilisant des arrondis :
Voici ma requête de test :
SELECT
Article.Quantite * Article.PrixVente AS Montant,
Round(Article.Quantite * Article.PrixVente, 2) AS MontantArrondi,
Dans mon exemple, Article.Quantite vaut 25 et Article.PrixVente vaut 0.233
J’obtiens ceci :
Montant MontantArrondi
5.825 5.82
Or, je souhaite obtenir un arrondi par défaut c’est à dire 5.83. Je continue mes tests et ajoute ceci :
SELECT
Article.Quantite * Article.PrixVente AS Montant,
Round(Article.Quantite * Article.PrixVente, 2) AS MontantArrondi,
Round(5.825,2) AS ARRONDI_NOMBRE_BASE,
0.233 * 25 AS CALCUL_NOMBRE,
Round(0.233 * 25,2) AS ARRONDI_CALCUL_NOMBRE,
Et là, curieusement j’obtiens ça :
Montant MontantArrondi ARRONDI_NOMBRE_BASE CALCUL_NOMBRE ARRONDI_CALCUL_NOMBRE
5.825 5.82 5.830 5.825 5.830
Les questions que je me pose sont :
1/ Pourquoi je n’obtiens pas les même résultats en mettant des chiffres en dur plutôt qu’avec des champs calculés.
2/ Pourquoi l’arrondi est “bon” avec les chiffres en dur
3 Pour quoi il y a 3 chiffres après la virgule et non 2 sur les champs ARRONDI_NOMBRE_BASE et ARRONDI_CALCUL_NOMBRE
4/ Comment obtenir le résultat de ARRONDI_CALCUL_NOMBRE avec des champs calculés ?
Auriez-vous une petite idée ? Faut-il caster préalablement les champs ?