J'ai une table avec des champs de type float.
Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise
manager, je récupère bien la valeur de ces champs.
Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans
entreprise manager) j'obtiens 12,300000000000004 ?????
Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les champs
float...
Vue que je suis en train de créer des fonctions et procédures stockées et
j'utilise l'Analyseur de requête pour les développer/tester je suis
carrément bloqué !!
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
Michel Walsh
Salut,
Un nombre à virgule flottante est approximatif. Tout comme on ne peut pas écrire exactement un tiers, en base 10, avec un nombre FINI de chiffres, et bien, en base deux, il en est de même avec la majorité des cas des nombres qui ne sont pas des sommes entières de base 2 (0.5, 0.25, 0.125, ... ou leur somme). La représentation interne, en base 2, diffère donc éventuellement de celle en base 10, lorsqu'on a une portion fractionnaire.
Utiliser un type décimal (qui est un entier avec un décallage du point décimal) si on désire minimiser les pertes de précision, internement, par rapport à la représentation (décimale) du nombre en base 10.
Espérant être utile, Vanderghast, Access MVP
"Christophe KERHOUSSE" <redtech(supprimer çà)@free.fr> wrote in message news:
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float. Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise manager, je récupère bien la valeur de ces champs. Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans entreprise manager) j'obtiens 12,300000000000004 ????? Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les
champs
float...
Vue que je suis en train de créer des fonctions et procédures stockées et j'utilise l'Analyseur de requête pour les développer/tester je suis carrément bloqué !!
au secours ?
Quelqu'un a t-il eu le soucis ???
Merci d'avance
Salut,
Un nombre à virgule flottante est approximatif. Tout comme on ne
peut pas écrire exactement un tiers, en base 10, avec un nombre FINI de
chiffres, et bien, en base deux, il en est de même avec la majorité des cas
des nombres qui ne sont pas des sommes entières de base 2 (0.5, 0.25,
0.125, ... ou leur somme). La représentation interne, en base 2, diffère
donc éventuellement de celle en base 10, lorsqu'on a une portion
fractionnaire.
Utiliser un type décimal (qui est un entier avec un décallage du
point décimal) si on désire minimiser les pertes de précision, internement,
par rapport à la représentation (décimale) du nombre en base 10.
Espérant être utile,
Vanderghast, Access MVP
"Christophe KERHOUSSE" <redtech(supprimer çà)@free.fr> wrote in message
news:OTYwbQs1DHA.2636@TK2MSFTNGP09.phx.gbl...
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float.
Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise
manager, je récupère bien la valeur de ces champs.
Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans
entreprise manager) j'obtiens 12,300000000000004 ?????
Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les
champs
float...
Vue que je suis en train de créer des fonctions et procédures stockées et
j'utilise l'Analyseur de requête pour les développer/tester je suis
carrément bloqué !!
Un nombre à virgule flottante est approximatif. Tout comme on ne peut pas écrire exactement un tiers, en base 10, avec un nombre FINI de chiffres, et bien, en base deux, il en est de même avec la majorité des cas des nombres qui ne sont pas des sommes entières de base 2 (0.5, 0.25, 0.125, ... ou leur somme). La représentation interne, en base 2, diffère donc éventuellement de celle en base 10, lorsqu'on a une portion fractionnaire.
Utiliser un type décimal (qui est un entier avec un décallage du point décimal) si on désire minimiser les pertes de précision, internement, par rapport à la représentation (décimale) du nombre en base 10.
Espérant être utile, Vanderghast, Access MVP
"Christophe KERHOUSSE" <redtech(supprimer çà)@free.fr> wrote in message news:
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float. Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise manager, je récupère bien la valeur de ces champs. Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans entreprise manager) j'obtiens 12,300000000000004 ????? Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les
champs
float...
Vue que je suis en train de créer des fonctions et procédures stockées et j'utilise l'Analyseur de requête pour les développer/tester je suis carrément bloqué !!
au secours ?
Quelqu'un a t-il eu le soucis ???
Merci d'avance
Fred BROUARD
Les calculs au sein d'un ordinateurs sont, du fait de la conception binaire, exécuté en base 2. Or pour les chiffres après la virgule, il n'existe aucune correspondance systématique de précision. En effet 0.2 (décimal) s'exprime, en base 2, à l'aide d'une suite infinie de puissance inverses de 2. Lors de la récupération de cette information l'affichage be fait que confirmer cet état de fait. Si l'on veut conserver exactement la précision décimale (par exemple pour des informations comptable) il faut utiliser un décimal codé binaire, c'est à dire le type SQL DECIMAL par exemple. L'inconvénient est que le SGBDR effectue une conversion en binaire avant tout calcul.
A +
Christophe KERHOUSSE a écrit:
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float. Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise manager, je récupère bien la valeur de ces champs. Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans entreprise manager) j'obtiens 12,300000000000004 ????? Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les champs float...
Vue que je suis en train de créer des fonctions et procédures stockées et j'utilise l'Analyseur de requête pour les développer/tester je suis carrément bloqué !!
au secours ?
Quelqu'un a t-il eu le soucis ???
Merci d'avance
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Les calculs au sein d'un ordinateurs sont, du fait de la conception
binaire, exécuté en base 2. Or pour les chiffres après la virgule, il
n'existe aucune correspondance systématique de précision. En effet 0.2
(décimal) s'exprime, en base 2, à l'aide d'une suite infinie de
puissance inverses de 2. Lors de la récupération de cette information
l'affichage be fait que confirmer cet état de fait.
Si l'on veut conserver exactement la précision décimale (par exemple
pour des informations comptable) il faut utiliser un décimal codé
binaire, c'est à dire le type SQL DECIMAL par exemple. L'inconvénient
est que le SGBDR effectue une conversion en binaire avant tout calcul.
A +
Christophe KERHOUSSE a écrit:
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float.
Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise
manager, je récupère bien la valeur de ces champs.
Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans
entreprise manager) j'obtiens 12,300000000000004 ?????
Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les champs
float...
Vue que je suis en train de créer des fonctions et procédures stockées et
j'utilise l'Analyseur de requête pour les développer/tester je suis
carrément bloqué !!
au secours ?
Quelqu'un a t-il eu le soucis ???
Merci d'avance
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Les calculs au sein d'un ordinateurs sont, du fait de la conception binaire, exécuté en base 2. Or pour les chiffres après la virgule, il n'existe aucune correspondance systématique de précision. En effet 0.2 (décimal) s'exprime, en base 2, à l'aide d'une suite infinie de puissance inverses de 2. Lors de la récupération de cette information l'affichage be fait que confirmer cet état de fait. Si l'on veut conserver exactement la précision décimale (par exemple pour des informations comptable) il faut utiliser un décimal codé binaire, c'est à dire le type SQL DECIMAL par exemple. L'inconvénient est que le SGBDR effectue une conversion en binaire avant tout calcul.
A +
Christophe KERHOUSSE a écrit:
Bonjour, j'ai le pb suivant :
J'ai une table avec des champs de type float. Lorsque je fais "Ouvrir une table -> Renvoyer le début" dans entreprise manager, je récupère bien la valeur de ces champs. Pax exemple :12,3
PAR CONTRE, dans l'analyseur de requête, pour la même ligne (ok dans entreprise manager) j'obtiens 12,300000000000004 ????? Qu'est-ce que c'est que ce bazar ???
Par mon appli IIS/ASP, tout fonctionne bien aussi pour restituer les champs float...
Vue que je suis en train de créer des fonctions et procédures stockées et j'utilise l'Analyseur de requête pour les développer/tester je suis carrément bloqué !!
au secours ?
Quelqu'un a t-il eu le soucis ???
Merci d'avance
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************