Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [VB6] calcoli in euro.

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327

    calcoli in euro.

    Scusate il mio problema, che mi affligge da tempo, è questo:

    nell'effettuare dei calcoli in euro, nel risultato datomi non mi vengono calcolate le cifre decimali cioè facciamo finta di avere un importo, e a questo sommargli una percentuale:

    //---------------------------
    sub function calcola()

    dim iva as currency
    dim importo as currency
    dim totale as currency

    iva=val(txtiva.text)
    importo=val(txtimporto.text)

    totale=importo+(importo*iva/100)

    end sub
    -------------------------------//

    Ipotizziamo che io come importo inserisca 1,30 euro il risultato datomi sarà 1,10 che non è corretto... :master:

    Dove sbaglio...

    Ve ne sarò grato se vorrete aiutarmi...






    Ps.: i valori inseriti nelle rispettive textbox vengono formattate nel seguente modo:
    //----------------------
    txtimporto.text=format(txtimporto.text,"##,###.00" )
    -----------------------//

  2. #2
    codice:
    Function calcola()
    
        Dim iva As Currency
        Dim importo As Currency
        Dim totale As Currency
        
        iva = (txtiva.Text)
        importo = (txtimporto.Text)
        
        totale = importo + (importo * iva / 100)
        Me.txttotale.Text = FormatNumber(totale, 2)
    End Function

    gli errori erano nelle seguenti righe:
    codice:
    TUE RIGHE
    ---
    iva=val(txtiva.text) 
    importo=val(txtimporto.text) 
    ---
    in quanto la funzione val ti restituisce il numero intero.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327

    nisba..

    Scusa tomhead, ma così mi da l'errore "tipo non corrispondente" sulla riga

    //-----------------------------
    importo=(txtimporto.text)
    ------------------------------//

    Cosa sbaglio ancora?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    16
    il val restituisce un intero mentre currency ha i decimali.
    iva lo puoi dimensionare come integer e applicargli la funzione val
    Prova così:

    Function calcola()

    Dim iva As integer
    Dim importo As Currency
    Dim totale As Currency

    iva = (txtiva.Text)
    importo = formatcurrency(txtimporto.Text,2)

    totale = importo + (importo * iva / 100)
    Me.txttotale.Text = FormatCurrency(totale, 2)
    End Function

    fammi sapere..

  5. #5

    Re: nisba..

    Originariamente inviato da p73
    Scusa tomhead, ma così mi da l'errore "tipo non corrispondente" sulla riga

    //-----------------------------
    importo=(txtimporto.text)
    ------------------------------//

    Cosa sbaglio ancora?

    controlla se inserisci veramente dei numeri nella casella "txtimporto"

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327

    Ok!

    Penso di aver risolto il problema. L'errore mi viene quando la textbox rimane vuota, ho aggiunto questa istruzione all'inizio della routine:

    //-------------------------
    On error resume next
    -------------------------//

    Così funziona senza segnalarmi nessun tipo di errore, i calcoli sembrano corretti.
    Cosa ne pensi?

    Grazie, ciao.






    Ps.: se mi mandi una foto ti faccio un busto :-))

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.