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
bruno reiter [MVP]
real et float sont des types de donnée "approximatifs" et ne sont fait que pour des calculs scientifiques, pour de l'exact, prends du decimal ou numeric
br
"BRIG" wrote in message news:094501c3d448$aceccdc0$ Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float ) insert into TheBug values (22.3, 22.3) select * from TheBug drop table TheBug
J'ai l'affichage suivant :
R F 22.299999 22.300000000000001
Merci de votre réponse.
Brig
real et float sont des types de donnée "approximatifs" et ne sont fait que pour
des calculs scientifiques, pour de l'exact, prends du decimal ou numeric
br
"BRIG" <anonymous@discussions.microsoft.com> wrote in message
news:094501c3d448$aceccdc0$a301280a@phx.gbl...
Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float )
insert into TheBug values (22.3, 22.3)
select * from TheBug
drop table TheBug
real et float sont des types de donnée "approximatifs" et ne sont fait que pour des calculs scientifiques, pour de l'exact, prends du decimal ou numeric
br
"BRIG" wrote in message news:094501c3d448$aceccdc0$ Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float ) insert into TheBug values (22.3, 22.3) select * from TheBug drop table TheBug
J'ai l'affichage suivant :
R F 22.299999 22.300000000000001
Merci de votre réponse.
Brig
Fred BROUARD
il ne s'agit nullement d'un bug, mais d'un comportement normal et sain d'un système informatique.
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.
C'est le comportemant normal de tous SI, ordinateur et SGBDR, même d'Acces. Le seul handicap d'access en la matière est de masquer cela et de ne pas permettre le type DECIMAL.
Un peu de connaissance et de culture informatique sur les bases de données et le SQL me parait nécessaire avant d'affirmer péremptoirement que SQL Server déconne !
Pour t'offrir un premier vernis culturel, tu peut consulter mon site, comme lire mon bouquin !!!
A +
-- 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: ****************** BRIG a écrit:
Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float ) insert into TheBug values (22.3, 22.3) select * from TheBug drop table TheBug
J'ai l'affichage suivant :
R F 22.299999 22.300000000000001
Merci de votre réponse.
Brig
il ne s'agit nullement d'un bug, mais d'un comportement normal et sain
d'un système informatique.
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.
C'est le comportemant normal de tous SI, ordinateur et SGBDR, même
d'Acces. Le seul handicap d'access en la matière est de masquer cela et
de ne pas permettre le type DECIMAL.
Un peu de connaissance et de culture informatique sur les bases de
données et le SQL me parait nécessaire avant d'affirmer péremptoirement
que SQL Server déconne !
Pour t'offrir un premier vernis culturel, tu peut consulter mon site,
comme lire mon bouquin !!!
A +
--
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 ******************
BRIG a écrit:
Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float )
insert into TheBug values (22.3, 22.3)
select * from TheBug
drop table TheBug
il ne s'agit nullement d'un bug, mais d'un comportement normal et sain d'un système informatique.
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.
C'est le comportemant normal de tous SI, ordinateur et SGBDR, même d'Acces. Le seul handicap d'access en la matière est de masquer cela et de ne pas permettre le type DECIMAL.
Un peu de connaissance et de culture informatique sur les bases de données et le SQL me parait nécessaire avant d'affirmer péremptoirement que SQL Server déconne !
Pour t'offrir un premier vernis culturel, tu peut consulter mon site, comme lire mon bouquin !!!
A +
-- 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: ****************** BRIG a écrit:
Bonjour,
En exécutant ceci :
create table TheBug ( r real, f float ) insert into TheBug values (22.3, 22.3) select * from TheBug drop table TheBug