Une recherche rapide ne m'a pas aidée, car en utilisant des mots clés tels
que "précision" ou "calculs", je ne tombe pas sur ce qu'il me faut !
Donc voilà mon problème :
Quand je fais une requête dans le genre
SELECT champ_A, champ_B, champ_A*champ_B as champ_AB FROM mes_champs;
j'obtient des résultats étonnants !
Par exemple quand j'ai A = 7.5 et B = 1, j'ai un résultat du genre de A*B
(7.5*1) = 7.49999999933213.
Ou quand j'ai A*B = 0.5*8 = 4.000000000000121.
Mes champs sont de type nombre réels. Et les valeur qui sont dedans sont
bien 7.5; 9; 1; 0.5; ... il n'y a pas de "précision cachée" dans mes valeurs
...
Donc pourquoi est-ce que j'obtiens des valeurs bizarres comme résultat du
calcul ?
Si quelqu’un comprend le fin mot de l’histoire, ça me rendrait très heureux !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
david
salut,
le type du champ A et B sont'il bien des réels DOUBLE...
Car stocker un nombre réel dans un réel simple est très risqué, la précision est en effet très faible et certaine valeur, même affichée en 7.50 par exemple, sont en fait 7.4999999...
Sir tu veux stocker des réels avec beacoup de décimales (parfois plus de 4) utilise des réels double, sinon utilise des monétaires (4 décimales maxi).
A+, david
salut,
le type du champ A et B sont'il bien des réels DOUBLE...
Car stocker un nombre réel dans un réel simple est très risqué, la
précision est en effet très faible et certaine valeur, même
affichée en 7.50 par exemple, sont en fait 7.4999999...
Sir tu veux stocker des réels avec beacoup de décimales (parfois plus
de 4) utilise des réels double, sinon utilise des monétaires (4
décimales maxi).
le type du champ A et B sont'il bien des réels DOUBLE...
Car stocker un nombre réel dans un réel simple est très risqué, la précision est en effet très faible et certaine valeur, même affichée en 7.50 par exemple, sont en fait 7.4999999...
Sir tu veux stocker des réels avec beacoup de décimales (parfois plus de 4) utilise des réels double, sinon utilise des monétaires (4 décimales maxi).
A+, david
PR
Salut David !
Je te remércie beaucoup pour ta réponse !
J'ai contrôlé mes champs et ils étaient bien en réels simples. Je les ai passé en double et effectivement les valeurs n'étais pas celles que j'attendais !
Il ne me reste plus qu'à corrgier les valeurs !
Merci encore, PR
P.S. Désolé de répondre si tard, mais je viens de constater que depuis FireFox, les news sont innaccessibles depuis vendredi dernier, alors que sous IE ça roule nickel !
Salut David !
Je te remércie beaucoup pour ta réponse !
J'ai contrôlé mes champs et ils étaient bien en réels simples. Je les ai
passé en double et effectivement les valeurs n'étais pas celles que
j'attendais !
Il ne me reste plus qu'à corrgier les valeurs !
Merci encore,
PR
P.S. Désolé de répondre si tard, mais je viens de constater que depuis
FireFox, les news sont innaccessibles depuis vendredi dernier, alors que sous
IE ça roule nickel !
J'ai contrôlé mes champs et ils étaient bien en réels simples. Je les ai passé en double et effectivement les valeurs n'étais pas celles que j'attendais !
Il ne me reste plus qu'à corrgier les valeurs !
Merci encore, PR
P.S. Désolé de répondre si tard, mais je viens de constater que depuis FireFox, les news sont innaccessibles depuis vendredi dernier, alors que sous IE ça roule nickel !