chifres apres le virgule

Résolu
Signaler
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011
-
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011
-
Bonjour a tous et a toutes,

je cherche a trouver le norme d'un vecteur, par exemple: sqrt((2.33^2)+(0.21555^2)+(1.2^2))
si je fait ca avec vb.net, il prend pas les chifres derieur le virgule, c-ad il fait: sqrt((2^2)+(0^2)+(1^2))

svp comment faire pr resoudre ce pb qu'il parait simple pr vs



Merci pr votre aide

12 réponses

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
53
Salut
Oui tu as raison pourquoi ?

Val ne reconnait pas le séparateur decimal
comme virgule mais un point
donc si tu as comme valeur dans la textbox 3,5
val("3,5") = 3
et net on utilise le
double.parse ou double.tryparse

TextBox2.Text = "46,6"
Dim x As Double
Dim k As Double
If Double.TryParse(TextBox2.Text, x) Then
   k = Math.Sqrt(x)
End If


avec double.parse
Try
   x = Double.Parse(TextBox2.Text)
   k = Math.Sqrt(x)
   Catch ex As Exception
       MessageBox.Show(ex.Message)
   End Try



et aussi evite d'utiliser des textboxes comme
variables un textbox sert à lire des données
ou a afficher des données
Messages postés
14831
Date d'inscription
vendredi 14 mars 2003
Statut
Non membre
Dernière intervention
4 décembre 2021
157
Bonjour,

Essayes avec Math.Pow pour la racine carré (0.5).
Mais je ne sais pas si ça résolvera ton pb.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut

Comme l'a dit NHenry (que je salue au passage), SQRT n'est pas une fonction VB.Net, mais Math.Sqrt
Dans quoi programmes-tu ?

Dans quoi ranges-tu le résultat, parce que chez moi, Math.Sqrt((2.33^2)) renvoie bien 2.33

NH : Resoudra

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011

Bomjour

j l'ai deja fait, mais le vrai pb c'est comment lire ts les chifres qui se trouve ds le textbox

Merci
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011

Bonjour,

je travaille sur vb.net
jack ca marche bien avec math.sqrt si c'est l'utilisateur qui entre les valeurs ds 3 textbox, mais si par exemple on fait la meme chose pr 3 textbox
dont les valeurs sont deja calculé (non donner par l'utilisateur) alors dans ce cas il prend que les chifre avant le virgule.


merci pr vos suggestion
Messages postés
14831
Date d'inscription
vendredi 14 mars 2003
Statut
Non membre
Dernière intervention
4 décembre 2021
157
Bonjour,

Salut Jack :)
Je note, même si j'aime bien ce terme, enfin pas grave :)

HAFEDHPOLY, avec quel code ? (Voir le point 2 de mon premier message)

Mon site
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
53
Salut
mais si par exemple on fait la meme chose pr 3 textbox
dont les valeurs sont deja calculé


pas clair
passe les valeurs des textbox dans des variables
n'utilise pas le textbox.text comme parametre
dans tes fonctions
Messages postés
14831
Date d'inscription
vendredi 14 mars 2003
Statut
Non membre
Dernière intervention
4 décembre 2021
157
Bonjour,

En VB.NET, il faut TOUJOURS (sauf cas très spéciaux) activer Option Strict (propriétés du projet).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Salut Hafe,

Je ne comprends pas bien non plus...
J'ai fait ça en .NET et ça fonctionne:

Dim Result As Double = Math.Sqrt((2.33 ^ 2) + (0.21555 ^ 2) + (1.2 ^ 2))
TextBox2.Text = Result '(<=> 2,62970755075541)

A+

CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,
le grand responsable est ici, comme l'a souligné ShayW, le fait de passer par un tremplin textbox alourdissant et trompeur au lieu de tout bêtement se servir, dans une variable, de ce qui l'alimente.
Ce n'est ni le premier ni le dernier forumeur qui agit et agira de cette manière assez cocasse.



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox4.Text = Val(TextBox1.Text)
        TextBox5.Text = Val(TextBox2.Text)
        TextBox6.Text = Val(TextBox3.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox7.Text = Math.Sqrt((Val(TextBox1.Text) ^ 2) + (Val(TextBox2.Text) ^ 2) + (Val(TextBox3.Text) ^ 2))
        TextBox8.Text = Math.Sqrt((Val(TextBox4.Text) ^ 2) + (Val(TextBox5.Text) ^ 2) + (Val(TextBox6.Text) ^ 2))
    End Sub
End Class


lorsque vs lancer l'appli entrer juste des valeurs ds textbox1,2 et3
et vous allez voir la differnce entre les valeurs dans textbox7 et textbox8.
j'attend vos commentaire
Merci a tous
Messages postés
9
Date d'inscription
samedi 20 août 2011
Statut
Membre
Dernière intervention
26 août 2011

Merci bien ShayW, t'as resolu mon pb