Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Problemi di somma.

    Questa sintassi non funziona correttamente:
    codice:
    Me.txtTotImponibile.Text = FormatNumber(Val(Me.txtTotImponibile.Text) + _
                                                Val(grdRipartizioni.TextMatrix(riga, colonna)), 2)
    Nel senso che se il valore di Me.txtTotImponibile.Text = 3,50 e il valore da sommargli della Flex è 15,00, il totale restituito è 18,00 e non 18,50.

    Cosa sbaglio?

    Grazie anticipatamente per le risposte.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2

    Re: [VB6] Problemi di somma.

    Originariamente inviato da maximum
    Questa sintassi non funziona correttamente:
    codice:
    Me.txtTotImponibile.Text = FormatNumber(Val(Me.txtTotImponibile.Text) + _
                                                Val(grdRipartizioni.TextMatrix(riga, colonna)), 2)
    Nel senso che se il valore di Me.txtTotImponibile.Text = 3,50 e il valore da sommargli della Flex è 15,00, il totale restituito è 18,00 e non 18,50.

    Cosa sbaglio?

    Grazie anticipatamente per le risposte.
    Ciao !
    Il problema e' che la funzione Val() accetta SOLO il punto decimale come separatore, indipendentemente dalle impostazioni internazionali del computer !
    La virgola viene vista come carattere non numerico, e la valutazione si interrompe su quel carattere.
    Basta che sostituisci nel testo da valutare la "," con "." !!

    Ciao !
    IceCube_HT (VB6 fan Club)

  3. #3
    Funziona....ma se ho due importi ed uno presenta valori con il punto (es: 14.000,80), si incasina la somma....

    Come posso risolvere?
    Se uso Cdbl, mi viene restituito "Tipo non corrispondente"....
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Originariamente inviato da maximum
    Funziona....ma se ho due importi ed uno presenta valori con il punto (es: 14.000,80), si incasina la somma....

    Come posso risolvere?
    Se uso Cdbl, mi viene restituito "Tipo non corrispondente"....
    E... vabbe', allora....

    ...sostituisci il punto con niente (stringa nulla), POI sostituisci la virgola con il punto et...voila' !

    Pero' 'sto cavolo di utente dovra' pure avere un po' di disciplina no ?!

    Ora non mi chiederai, spero:
    "e se l'utente digita i numeri nella prima textbox con il punto e nella seconda con la virgola ?"

    L'alternativa VERA e' usare un controllo diverso dalla textbox, che accetti SOLO numeri......
    IceCube_HT (VB6 fan Club)

  5. #5
    Ho risolto seguendo un'altra strada.
    Ho creato un pulsante e dopo avere finito di compilare il mio modulo, tramite clic, gli faccio eseguire i calcoli.
    E' stato di fatto il sistema più veloce...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.