VB6 Sinus ????

Résolu
Signaler
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
-
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
-
Salut.....

Je fais un simple Sinus mais VB6 n'arrive pas à la même réponse que moi (à la calculatrice).

J'aimerais savoir pourquoi VB arrive à cette réponse et comment faire pour le faire arriver à la bonne réponse....

Voici mon code

Dim Resulat as Double
Dim dbVaribale as Double          =  91,1590238888
Pi = 3,1416
Dim strDistance as String             =  72,25145702

Resultat = Sin(dbVariable * 180 / Pi) * CDbl(strDistance)

Vb a comme résultat: 71,6460292322578
J'ai sur ma calculatrice comme résultat: 72,23667474

Merci  de m'éclairer un peu.....   après ca je vous lâche la paix.....   héhéhéhé

8 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Ca y'est j'ai trouvé :

Dim Resulat         As Double
Dim dbVariable   As Double
Dim strDistance   As String  

dbVariable = 91.1590238888
Pi = 3.1415926535        
strDistance = 72.25145702

Resultat = Sin(dbVariable * Pi / 180 ) * CDbl(strDistance)
<hr size ="2" width="100%" />
Il suffisait d'inverser tes valeurs ^^

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Peu etre que cela vien de la valeur de PI ta calculatrice a une valeur plus "precise"
@+, Julien
Pensez:
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
Allo.. c'est impossible l'imprécision se retrouverait dans les décimaux. mais là, j'ai de l'imprécision dans l'entier et dans les décimaux... :(
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

Pi n'est pas déclaré !

3,1415926535

mais ça ne change pas que le résultat est celui que tu à indiqué.

Au fait, ton code :
Dim Resulat as Double
Dim dbVaribale as Double          =  91,1590238888
Pi = 3,1416
Dim strDistance as String             =  72,25145702

Resultat = Sin(dbVariable * 180 / Pi) * CDbl(strDistance)
(en couleur les fautes)

correction :

Dim Resulat as Double
Dim dbVariable as Double
Dim Pi As Double
Dim strDistance as String  

dbVariable = 91.1590238888
Pi = 3.1415926535        
strDistance = 72.25145702

Resultat = Sin(dbVariable * 180 / Pi) * CDbl(strDistance)

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
Re...

Le code que j'ai indiqué comme exemple.... est un Exemple... héhéhéhé

Pi n'est pas déclarer car il l'est plus haut dans mon code.. m'ai c'était inutile de le montrer et ma variable dbVariable est bel et bien égal à 91.1590238888

J'ai écris Dim dbVaribale as Double          =  91,1590238888

Uniquement pour que vous sachiez que la variable dbVariable vaut dans l'exemple 91,1590238888

Bref j'ai toujours le même prob....

À moins que tu me dise que toi tu arrives à la bonne réponse en utilisant mes valeurs avec VB6.. ?????

Désolé... j'aurais du mettre un commentaire...
Je commence à prendre exemple des réponse sur VBFrance.. lol,,,, je montre mes expemples en mode simplifié....

Désolé Again
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Pas de problème..

Ce qui est bizarre, c'est qu'en passant par la calculatrice windows, j'ai ce résultat :
-3.8157696853586...

Je regarde ça avec une vrai calculatrice Scientifique et te tiens au courant. (Ps, au cas où ce ne soit pas la mise en forme : le symbole décimale, dans VB, est le point)

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
C'est la fonction Sinus de VB qui merdouille !

Avec ma calculatrice :
Sin(dbVariable * 180 / Pi) => -0.0528122950456691

Avec VB :
Sin(dbVariable * 180 / Pi) => 0.991620463666313

Je ne sais pas pourquoi, je poursuis les recherches.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
Merci de ton aide.....

A+