quand je me met en mode debug, j'ai parfois quelque surprise, comme celle ci
!
je fais cette opération :
reste = reste - lame - tablo(Ptablo).longueur
quand je pointe la souris sur reste, ca me dit 1300.6, quand je pointe sur
lame, ca me sort : 3.7, et quand je pointe sur longueur, ca me sort 1276
Et apres l'opération, quand je pointe sur reste, ca me sort 20.9000000000003
!!!
Je sais qu'a l'affichage c'est pas trop grave, on fait Round, mais pour mes
calcule, ca peut me fausser pas mal !
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
jmn
Malheureusement VB n'est pas Fortran (n'est plus ?!) et les versions Microsoft de Basic n'ont pas prévu de type décimal fixe. Si vous êtes capable d'établir la précision requise par vos calculs (nombre de chiffres significatifs après la virgule) vous pouvez traiter toutes vos opérations avec des variables de type INT en multipliant toutes vos données initiale par lapuissance de 10 correspondante, avant de diviser le résultat final par la même valeur.
La plage des int est -2 147 483 648 à 2 147 483 647, donc avec un précision a 10-2, vous pouvez traiter des données entre -2 147 483,99 et 2 147 483,99
Si vous avez besoin de décrire des valeurs plus grandes et/ou des parties décimales plus précises vous pouvez également écrire les fonctions arithmétiques opérant sur un nombre décrit en deux morceau formé de 2 int : un pour la partie entière, un autre pour la partie décimale (pensez à cadrer la partie décimale à gauche en fixant une précision max (10-6 par exemple), sinon vous ne saurez jamais comment remonter les unités vers la partie entière)
Malheureusement VB n'est pas Fortran (n'est plus ?!) et les versions
Microsoft de Basic n'ont pas prévu de type décimal fixe.
Si vous êtes capable d'établir la précision requise par vos calculs (nombre
de chiffres significatifs après la virgule) vous pouvez traiter toutes vos
opérations avec des variables de type INT en multipliant toutes vos données
initiale par lapuissance de 10 correspondante, avant de diviser le résultat
final par la même valeur.
La plage des int est -2 147 483 648 à 2 147 483 647, donc avec un précision
a 10-2, vous pouvez traiter des données entre -2 147 483,99 et 2 147 483,99
Si vous avez besoin de décrire des valeurs plus grandes et/ou des parties
décimales plus précises vous pouvez également écrire les fonctions
arithmétiques opérant sur un nombre décrit en deux morceau formé de 2 int :
un pour la partie entière, un autre pour la partie décimale (pensez à cadrer
la partie décimale à gauche en fixant une précision max (10-6 par exemple),
sinon vous ne saurez jamais comment remonter les unités vers la partie
entière)
Malheureusement VB n'est pas Fortran (n'est plus ?!) et les versions Microsoft de Basic n'ont pas prévu de type décimal fixe. Si vous êtes capable d'établir la précision requise par vos calculs (nombre de chiffres significatifs après la virgule) vous pouvez traiter toutes vos opérations avec des variables de type INT en multipliant toutes vos données initiale par lapuissance de 10 correspondante, avant de diviser le résultat final par la même valeur.
La plage des int est -2 147 483 648 à 2 147 483 647, donc avec un précision a 10-2, vous pouvez traiter des données entre -2 147 483,99 et 2 147 483,99
Si vous avez besoin de décrire des valeurs plus grandes et/ou des parties décimales plus précises vous pouvez également écrire les fonctions arithmétiques opérant sur un nombre décrit en deux morceau formé de 2 int : un pour la partie entière, un autre pour la partie décimale (pensez à cadrer la partie décimale à gauche en fixant une précision max (10-6 par exemple), sinon vous ne saurez jamais comment remonter les unités vers la partie entière)
Patrice Henrio
En écrivant ce que cela donne en puissance de 2 vous comprendrez mieux le résultat de l'opération, d'autant que le type de chaque nombre va jouer un rôle dans cet exercice. L'arithmétique des ordinateurs est une arithmétique de segment ce qui est différent de l'arithmétique des nombres habituelle. "Jean-Michel" a écrit dans le message de news:
Bonjour,
quand je me met en mode debug, j'ai parfois quelque surprise, comme celle
ci
!
je fais cette opération :
reste = reste - lame - tablo(Ptablo).longueur
quand je pointe la souris sur reste, ca me dit 1300.6, quand je pointe sur lame, ca me sort : 3.7, et quand je pointe sur longueur, ca me sort 1276 Et apres l'opération, quand je pointe sur reste, ca me sort
20.9000000000003
!!! Je sais qu'a l'affichage c'est pas trop grave, on fait Round, mais pour
mes
calcule, ca peut me fausser pas mal !
Merci pour vos reponse !
En écrivant ce que cela donne en puissance de 2 vous comprendrez mieux le
résultat de l'opération, d'autant que le type de chaque nombre va jouer un
rôle dans cet exercice.
L'arithmétique des ordinateurs est une arithmétique de segment ce qui est
différent de l'arithmétique des nombres habituelle.
"Jean-Michel" <jeneveuxpasdespam_coconuts@genial.net> a écrit dans le
message de news:ec2H2dAuDHA.1876@TK2MSFTNGP09.phx.gbl...
Bonjour,
quand je me met en mode debug, j'ai parfois quelque surprise, comme celle
ci
!
je fais cette opération :
reste = reste - lame - tablo(Ptablo).longueur
quand je pointe la souris sur reste, ca me dit 1300.6, quand je pointe sur
lame, ca me sort : 3.7, et quand je pointe sur longueur, ca me sort 1276
Et apres l'opération, quand je pointe sur reste, ca me sort
20.9000000000003
!!!
Je sais qu'a l'affichage c'est pas trop grave, on fait Round, mais pour
En écrivant ce que cela donne en puissance de 2 vous comprendrez mieux le résultat de l'opération, d'autant que le type de chaque nombre va jouer un rôle dans cet exercice. L'arithmétique des ordinateurs est une arithmétique de segment ce qui est différent de l'arithmétique des nombres habituelle. "Jean-Michel" a écrit dans le message de news:
Bonjour,
quand je me met en mode debug, j'ai parfois quelque surprise, comme celle
ci
!
je fais cette opération :
reste = reste - lame - tablo(Ptablo).longueur
quand je pointe la souris sur reste, ca me dit 1300.6, quand je pointe sur lame, ca me sort : 3.7, et quand je pointe sur longueur, ca me sort 1276 Et apres l'opération, quand je pointe sur reste, ca me sort
20.9000000000003
!!! Je sais qu'a l'affichage c'est pas trop grave, on fait Round, mais pour