Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
24/10/07 6:54
superchecco
Salve a tutti, sto provando a imparare il C#!
Il problema è che non conosco ne C ne C++ ma solo VBNet e il passaggio mi riesce (dal punto di vista della sintassi) piuttosto difficile...

veniamo al dunque, se devo sommare 2 numeri inseriti dall'utente in input in due textbox, in vbnet facevo
dim a as single
dim b as single
dim c as single=0
a=val(txt1.text)
b=val(txt2.text)
c=a+b
messagebox.show("risultato:" & c)


in c# (direi eh)
single a;
single b;
single c;
a=txt1.text;
b=txt2.text;
c=a+b;
messagebox.show("risultato" + c);


il problema è che a e b sono 2 stringhe e quindi lui me le concatena solo
(per esempio se inserisco 5 e 4 il risultato è 54 :-| )

Tutto questo perche non trovo (non so se c è!) la funzione Val()!
Ultima modifica effettuata da superchecco 24/10/07 6:57
aaa
24/10/07 12:15
Black Shadow
Postato originariamente da superchecco:
Tutto questo perche non trovo (non so se c è!) la funzione Val()!


Tutto quello che si può fare in VB.NET si può fare anche in C# (non è vero il contrario).

Ma veniamo al dunque:
Il C# dispone di una classe chiamata Convert che ha la funzione che cerchi.

Quindi:
float a;
float b;
float c;
[b]a = Convert.ToSingle(txt1.Text);
b = Convert.ToSingle(txt2.Text);[/b]
c=a+b;
[b]MessageBox.Show("risultato" + c);[/b]


Premesso che il C# è Case-Sensitive, quindi 'a' è diverso da 'A'.
Inoltre come puoi vedere 'single' di VB.NET in C# si dichiara come float (che poi sarebbe la struct Single).

Per la conversione basta il Convert.ToSingle();;)
aaa
24/10/07 17:47
Il Totem
Val è una funzione vb6: inoltre non converte tutte la stringa in un numero, ma solo il primo carattere. E' quindi inutile. D'altra parta, si puo' sempre usare l'operatore CType, che è molto più rapido e flessibile di Convert.
aaa
26/10/07 12:50
superchecco
grazie mille!
aaa