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

    [VB5] - Valore da textbox non corretto

    Salve to everybody.
    Ascoltate un po' qua... ho un problemino abbastanza significativo.
    Ho un valore che sta dentro una text box e che per forza di cose non posso dichiarare a variabile perchè il numero che va a finire nella text box viene generato da un tastierino numerico posto sullo schermo (è un programma per un touch screen).
    Ora...
    Non potendo dichiarare come variabile questo numero mi accade una cosa molto scocciante: se inserisco un valore non intero (es.: 5,25) andando a estrapolare quel valore per metterlo in una variabile (o comunque per fare una stupida operazione:
    codice:
    importo=val(text1)+1
    or

    codice:
    importo=val(text1)

    il valore che mi restituisce è un intero, è come se mi troncasse le cifre decimali.
    Come posso fare?
    Aiutatemi vi prego!!
    Le camice rosse ricucirono il paese,
    le camice nere lo portarono alla guerra,
    le camice verdi vi son pulite il culo...

  2. #2
    Utente di HTML.it L'avatar di Toeke
    Registrato dal
    Aug 2002
    Messaggi
    348
    codice:
    importo=cdbl(text1)+1

  3. #3
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    Nota La funzione Val riconosce solo il punto (.) come separatore decimale valido. Se si utilizzano separatori diversi (ad esempio in applicazioni internazionali) per convertire una stringa in numero è consigliabile utilizzare la funzione CDbl.
    così dice l'MSDN
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  4. #4
    Val è un comando che ignora le impostazioni locali del PC (quindi la lingua, il formato delle date e dei numeri).
    Se vuoi fargli vedere la virgola devi usare il '.' (punto) che è il separatore decimale diciamo 'standard'.
    Potresti anche usare CDouble che è una funzione analoga ma che tiene in considerazione le impostazioni locali ( e quindi accetta la virgola come separatore).
    Fai però molta attenzione al fatto che se installi la tua applicazione su di una versione di win che non è italiana il tuo programma non funzionerebbe più.

    Se vuoi un suggerimento utilizza Val magari sostiruendo il carattere , con un punto nella tua textbox:

    importo = val(replace(text1,",",".") + 1


    Spero di essere stato abbastanza chiaro


    Ciao
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  5. #5
    Grazie infinite a tutti e due!
    Funziona proprio! Per quanto mi riguarda mi basta il CDbl visto che il pgm verrà installato solo su un computer. Grazie infinite!
    Le camice rosse ricucirono il paese,
    le camice nere lo portarono alla guerra,
    le camice verdi vi son pulite il culo...

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.