Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: somma in vb

  1. #1

    somma in vb

    ciao a tutti , ho un piccolo problema devo fare la somma tra due numeri, il mio risultato viene tra due stringe ad esempio 1+2 = 12
    come posso fare per far venire 3?
    grazie

  2. #2
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    devi traformare le stringhe in interi...

    es:

    somma = CINT(a) + CINT(b)

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    Originariamente inviato da barney09
    devi traformare le stringhe in interi...

    es:

    somma = CINT(a) + CINT(b)
    puo' andare anke cosi ?
    codice:
     
    somma = val(a) + val(b)

  4. #4
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    Originariamente inviato da yyzyyz
    puo' andare anke cosi ?
    codice:
     
    somma = val(a) + val(b)
    ma decisamente sì.....non capisco perchè per fare una somma deve rendere i numeri interi...e se volesse fare la somma tra 2 decimali???
    va benissimo val(a)+val(b)

  5. #5
    Utente di HTML.it L'avatar di Toeke
    Registrato dal
    Aug 2002
    Messaggi
    348
    Originariamente inviato da s|n3
    ma decisamente sì.....non capisco perchè per fare una somma deve rendere i numeri interi...e se volesse fare la somma tra 2 decimali???
    va benissimo val(a)+val(b)
    Converti il valore in Double:

    Codice PHP:
    somma CDbl(a) + CDbl(b

  6. #6
    è + corretto il val poichè interpreta in che tipo di variabile convertire ottimizzando la quantità di memoria utilizzata. Converrete con me che convertire un "1" in un double è un enorme spreco di spazio val() in questo caso lo converte in una variabile byte
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    stando a quanto dice VB, Val ritorna un double e non un byte, xegallo sta cosa del byte mi è nuova

    Function Val(String As String) As Double
    Membro di VBA.Conversion
    Restituisce i numeri contenuti in una stringa


    cmq sia dipende tutto dal tipo di dato della variabile risultato, se la varibile risultato somma è integer, meglio usare CInt che ritorna direttamente un integer da assengare ad una variabile integer senza ulteriori conversioni, se la variabile somma è double allora usare CDbl, poi se usate CInt prima convertite le stringhe in integer, poi sarà vb a convertire il tutto in double, quindi fate fare una doppia conversione.
    Ans.

  8. #8
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    Originariamente inviato da ans
    stando a quanto dice VB, Val ritorna un double e non un byte, xegallo sta cosa del byte mi è nuova

    Function Val(String As String) As Double
    Membro di VBA.Conversion
    Restituisce i numeri contenuti in una stringa


    cmq sia dipende tutto dal tipo di dato della variabile risultato, se la varibile risultato somma è integer, meglio usare CInt che ritorna direttamente un integer da assengare ad una variabile integer senza ulteriori conversioni, se la variabile somma è double allora usare CDbl, poi se usate CInt prima convertite le stringhe in integer, poi sarà vb a convertire il tutto in double, quindi fate fare una doppia conversione.
    ma se uno deve scrivere un codice per fare una somma al 99% delle volte non sa se si tratta di un valore intero o no...quindi meglio val()
    se a questo ci aggiungi che boccia1982 aveva chiesto come fare una somma(senza specificare se di valore intero o no) la risposta che gli hai dato mi sa che è sbagliata o quantomeno incompleta

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    il valore di ritorno come lo vuoi lo sai perchè devi dichiarare la variabile per il risultato, quindi sai se intero, double...., poi cioè che ho spiegato è un comportamento generale da seguire per evitare conversioni inutili, quindi usare val quando la variabile risultato non è double ti porta ad una doppia conversione.
    Ans.

  10. #10
    Originariamente inviato da ans
    stando a quanto dice VB, Val ritorna un double e non un byte, xegallo sta cosa del byte mi è nuova
    stando al libro di Matthew Curland (che per chi non lo sapesse è l'inventore dell'intellisense in VB) la funzione Val() restituisce il valore numerico "appropriato" ora non ho la guida di vb sottomano
    (ci mancherebbe che lo installo pure a casa) quindi non so se sia documentata a dovere tale funzione
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.