|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 258 ![]() |
Salut
je travaille avec SqlServer2000, et j'utilise Type de donnée Float, mais il me pose de probleme! Par exemple j'insère : 0.58 et si je fait l'appel avec Select, le 0.58 s'affiche ==> 0.579999999999996 ou bien 0.03 ==> 2.9999999999999E-2 Franchement sa me perturbe Est-ce que le fait d'avoir utilisé le type Float que j'ai ce probleme, Si Oui. y'a t'il pas autre type qui pourra m'aider a évité ça ?! ![]() Merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
OUI : DECIMAL et NUMERIC.
Il est normal que le float soit imprécis, car tout réel encodé en base deux ne peut pas représenter exactement un nombre décimal. Exemple 0,2 est une somme infinie de puissance inverses de 2... Or l'infini sur un PC, c'est 32 (bits) ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 258 ![]() |
Merci pour vos réponse
J'ai éssai de faire ce que vous m'avez proposé comme solution, c a dire j'ai changé la type de ma colonne en DECIMAL et même en Numerique, mais sa ma pas trop aidé : Si j'insère 0.25 il devient 0 ces deux type m'ont éliminé les chiffre après la virgule, et sa ne réponds pas a ce que je cherche ![]() Merci |
|
|
01
|
|
|
#5 |
|
Membre Expert
![]() |
qu'avez vous mis comme décimal?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#6 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 258 ![]() |
Citation:
Moi sur mon SqlServer je retrouve un seul Decimal ! Merci |
|
|
|
01
|
|
|
#7 |
![]() ![]() |
On rajoute deux paramètres au type DECIMAL :
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 258 ![]() |
Merci Waldar
Ben pour le moment j'utilise la fonction que vous venez de l'indiqué, Mais j'ai aurais aimé réglé ce probleme au niveau de mes table, je pensais qu'il existe un certain type de données sur SqlServer qui règle ce probleme, Mais je vois qu'apparemment sa n'existe pas !!! Un type de données : quand on fait un entré un "0.25" il reste un "0.25" Merci |
|
|
00
|
|
|
#9 |
![]() ![]() |
Je viens de vous le donner. DECIMAL(5,2).
Vous avez aussi le droit de chercher dans la documentation.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Citation:
Ça serait bien si vous faisiez un minimum d'effort pour comprendre ce que vous faites.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 258 ![]() |
Merci pour toutes vos réponse
j'ai gardé mes colonnes Float et j'utilise : Pour l'affichage . Merci bien |
|
|
00
|
|
|
#12 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Ben non ... il vaut mieux changer vos colonnes au types decimal(5,2) :
Code :
Je ne sais pas si la conversion vous posera des problèmes d'arrondis. Dès lors toute requête s'écrit : Sans transtypage ! @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com