Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [VB6] Somma tra stringhe

    Devo sommare tre variabili (Impostate su String, in questo esempio a, b e c) contenenti dei numeri.
    Mettende essere:

    codice:
    a = 100
    b = 200
    c = a + b
    La stringa c non ha valore '300', ma valore '100200'.
    Suppongo essere questo dovuto al fatto che le tre variabili sono impostate su String e non su, ad esempio, Long.

    Se le imposto su long però ricevo un errore da visual basic (in quanto queste variabili sono ricavate da un TextBox): Tipo non corrispondente.

    Come faccio per ottenere invece '300'? (Qua sotto vi riporto il codice completo)

    codice:
    Private Sub cmdElabora_Click()
    Dim a As String
    Dim b As String
    Dim c As String
    
    a = txta.Text
    b = txtb.Text
    c = txtco.Text
    
    c = a + b
    MsgBox (c)
    End Sub

  2. #2
    Usa la funzione CLng(arg), converte arg dal suo tipo in long.

  3. #3
    Private Sub cmdElabora_Click()
    Dim a As String
    Dim b As String
    Dim c As String

    a = CLng(txta.Text)
    b = CLng(txtb.Text)
    c = CLng(txtco.Text)

    c = a + b
    MsgBox (c)
    End Sub

  4. #4
    Mi dice 'Tipo Non Corrispondente'

  5. #5
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    136
    Originariamente inviato da chiamatekatia
    Mi dice 'Tipo Non Corrispondente'
    se all'interno delle text ci dei valori diversi da "0123456789" ti va in errore

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Se devi sommarli basta convertirli

    codice:
    Dim a As String
    
    Private Sub Command1_Click()
    a = Text1.Text
    flag = IsNumeric(a)
    If flag = True Then
    a = CInt(a)
    MsgBox a
    End If
    End Sub
    ciao
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Ho capito perchè non andava...Un txt era vuoto

  8. #8
    Ti do anche la mia versione
    codice:
    a = text1.text
    b = text2.text
    c = val(a)+val(b)
    Se la text è vuota ti mette 0, cosi eviti errori

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Private Sub cmdElabora_Click()
    Dim a As String
    Dim b As String
    Dim c As String

    a = txta.Text
    b = txtb.Text
    c = txtco.Text

    c = CStr(CLng(a) + CLng(b))
    MsgBox (c)
    End Sub
    Ans.

  10. #10
    Scusate ho un'altra domanda...

    Con CLng lo trasformo in un Long, se lo volessi trasformare in un SIngle?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.