Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    [VB6]Eseguire un calcolo con una stringa

    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!

  2. #2
    che cosa rappresenta la variabile "X"?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    un qualsiasi dato numerico

    Hey hey, my my Rock and roll can never die!

  4. #4
    ok, allora avrò:

    codice:
    X = 500
    MyStr = "/100*130"
    risultato = CSng(X) / CSng(100) * CSng(130)
    MsgBox risultato
    risultato = 650


    ciao

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    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)

  6. #6
    scusa mabi, non ho capito...:master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    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.

  8. #8
    Originariamente inviato da Mabi
    Se però i numeri della stringa variano li devi estrarre e convertire.
    codice:
    ....
    ho capito cosa volevi dire... però il tuo codice restituisce un risultato Long e non consente di manipolare valori con la virgola.
    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.

  9. #9
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    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...

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Se funziona ti amo Von!

    M;a mi ero spiegato così male?

    Hey hey, my my Rock and roll can never die!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.