Ho una stringa di questo tipo prelevata da database:
MyStr = "/100*130"
Cosa devo fare se voglio calcolare ad esmepio
Risultato = X/100*130
Grazie
Ho una stringa di questo tipo prelevata da database:
MyStr = "/100*130"
Cosa devo fare se voglio calcolare ad esmepio
Risultato = X/100*130
Grazie
Hey hey, my my Rock and roll can never die!
che cosa rappresenta la variabile "X"?
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
un qualsiasi dato numerico
Hey hey, my my Rock and roll can never die!
ok, allora avrò:
risultato = 650codice:X = 500 MyStr = "/100*130" risultato = CSng(X) / CSng(100) * CSng(130) MsgBox risultato
ciao
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
Se però i numeri della stringa variano li devi estrarre e convertire.
codice:Dim Stringa1 As String Dim X As Long Dim Num1 As Long Dim Num2 As Long Dim Risultato As Long Dim PosPer As Integer Stringa1 = "/100*130" PosPer = InStr(1, Stringa1, "*") X = 500 Num2 = CLng(Right(Stringa1, Len(Stringa1) - PosPer)) Stringa1 = Mid(Stringa1, 2, PosPer - 2) Num1 = CLng(Stringa1) Risultato = CStr(X / Num1 * Num2) MsgBox CStr(Risultato)
scusa mabi, non ho capito...:master:
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
una cosa sbagliata, o meglio una distrazione, sul mio codice ci sta; infatti così com'è non tiene conto dei numeri con la virgola, quindi andrà modificata così, aggiungendo un Replace:
codice:X = 25.5 X = Replace(X, ".", ",") MyStr = "/100*130" Risultato = CSng(X) / CSng(100) * CSng(130) MsgBox Risultato
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
ho capito cosa volevi dire... però il tuo codice restituisce un risultato Long e non consente di manipolare valori con la virgola.Originariamente inviato da Mabi
Se però i numeri della stringa variano li devi estrarre e convertire.
codice:....
ho modificato così il tuo codice... e mi sembra che sia perfetto.
è una fusione tra ciò che ho postato io e ciò che hai postato tu:
codice:Dim MyStr As String Dim X As Single Dim Num1 As Single Dim Num2 As Single Dim Risultato As Single Dim PosPer As Integer MyStr = "/100*130" PosPer = InStr(1, MyStr, "*") X = 150 X = Replace(X, ".", ",") Num2 = CSng(Right(MyStr, Len(MyStr) - PosPer)) MyStr = Mid(MyStr, 2, PosPer - 2) Num1 = CSng(MyStr) Risultato = CSng(X) / CSng(Num1) * CSng(Num2) MsgBox Risultato
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
Forse lui intendeva una cosa del genere:
codice:Dim vbs As New ScriptControl Dim y as long MyStr = "22/100*130" vbs.Language = "VBSCRIPT" y = vbs.Eval MyStr
...and I miss you...like the deserts miss the rain...
Se funziona ti amo Von!
M;a mi ero spiegato così male?
Hey hey, my my Rock and roll can never die!