Calcul numérique avec TexBox

Signaler
Messages postés
71
Date d'inscription
mardi 26 octobre 2004
Statut
Membre
Dernière intervention
15 avril 2007
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour,
Qu'est ce qu'il est preférable de faire quant on n'a plusieurs TexBoxs pour le calcul numérique ?Comme :
Option strict on
((TextBox1.Text - TextBox2.Text) / TextBox3.Text) * 100
Quelle serait l'ideal pour faire ce type de calcul parceque en VB6 j'avais cela mais en VB2003 J'ai
TextBox3.Text =

CStr((
CDbl(TextBox2.Text) -
CDbl(TextBox1.Text)) /
CDbl(TextBox2.Text) * 100)
Il me semble qu'un jour une personne m'avais dis de faire autrement mais je ne me rappel plus !
Avec VB 2005 EXPRESS j'ai une erreur qui ne l'empêche pas de fonctionner mais c'est une erreur quand même ! :
Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll

Merci, bonne après midi.

9 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut: cela ne marche pas?
TextBox3.Text = (


CDbl(TextBox2.Text) - CDbl(TextBox1.Text)) / CDbl(TextBox2.Text) * 100


Sinon:
dim a as double CDbl(TextBox1.Text)

dim b as double = CDbl(TextBox2.Text)
dim c as double = ((b-a)/b)*100

TextBox3.Text  = c.tostring

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
3
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
6 avril 2007

essayez encore val
TextBox3.Text = ( val(TextBox2.Text) - val(TextBox1.Text)) / val(TextBox2.Text) * 100
Messages postés
71
Date d'inscription
mardi 26 octobre 2004
Statut
Membre
Dernière intervention
15 avril 2007

Bonsoir,
Drikce06 et Verif c'est pareil :

Erreur 1 Option Strict On interdit les conversions implicites de 'Double' en 'String'. C:\Documents and Settings\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplication1\Form1.vb 94 25 WindowsApplication1
Comment on fait pour dire au TexBox que ce qu'on écrit dedans c'est pas un texte ?
Je continu à chercher.
Bonne soirée.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonsoir,


Pour moi j'utiliserai simplement "TextBox1.VALUE" et un ON ERROR RESUME NEXT... si ce n'est pas une expression numérique au moins tu pourras gérer l'erreur.... il existe aussi l'instruction ISNUMERIC, je pense...


Amicalement,


Us.


 
Messages postés
71
Date d'inscription
mardi 26 octobre 2004
Statut
Membre
Dernière intervention
15 avril 2007

Bonsoir,
J'ai peut être trouvé dans l'aide mais je n'arrive pas à la faire fonctionner cette ligne  si vous avez une idée ? :
Private

Sub Page_Load(ByVal sender AsObject, ByVal e As EventArgs) HandlesMyBase.Load
Dim instance As TextBox

Dim value AsBoolean

value = instance.Numeric

instance.Numeric = value

TextBox1.Numeric = True

End
Sub
Bonne soirée.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
> us_30 Vb.Net et non VB6, donc pas de .Value et gestion d'erreur Try ... Catch...

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

Avec un Try...Catch :



Try

  Dim Result As Decimal = ((System.Convert.ToDecimal(TextBox2.Text) - _
    System.Convert.ToDecimal(TextBox1.Text)) / _
    System.Convert.ToDecimal(TextBox2.Text)) * 100
  TextBox3.Text = Result.ToString()
Catch
  TextBox3.Text = "Non numeriques"
End Try,

----

(Coloration syntaxique automatique par Kenji)




__________
 Kenji
Messages postés
1
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
15 avril 2007

Salut, je ne sais pas si c'est pareil, je devais comparé des nombres de différents TextBox et j'ai fait ainsi :

Dim val1 as Integer
val1 = TextBox1.Text

ainsi de suite pour chaque TextBox et j'ai ensuite pu comparé mes différentes valeurs sans que la valeur soit prise pour un String !
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Perdu,
c'est

Dim val1 as Integerval1 Val( TextBox1.Text<gras>)   'pour convertir en numérique ou           val1 CInt(TextBox1.Text)</gras>

Car .Text te renvoi le type String

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~