Autore Topic: float senza lo zero  (Letto 1384 volte)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
float senza lo zero
« il: 11 Agosto 2008, 23:19:52 »
ho utilizzato una valuebox per ottenere la conversione di numero ma la questione è che se la cifra è minore di zero allora mi mostra il numero senza lo zero iniziale..cioè invece di mostrarmi 0,15 mi mostra ,15....come mai?

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: flot senza lo zero
« Risposta #1 il: 12 Agosto 2008, 16:40:12 »
Dipende dal widget.
Metti un textbox normale e formatta con Format.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: flot senza lo zero
« Risposta #2 il: 12 Agosto 2008, 17:00:04 »
scusate e come faccio a fare un format della textbox per accettare solo numeri e restituire anche decimali minori di zero che mostrino lo zero prima della virgola

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: flot senza lo zero
« Risposta #3 il: 13 Agosto 2008, 16:07:22 »
Metti un codice tipo questo nell'evento LostFocus del TextBox:
Codice: [Seleziona]

DIM Stringa, Stringa2 as String
DIM I as Integer

  Stringa = TextBox.Text
  Stringa2 = ""
  FOR I = 1 TO Len(Stringa)
    SELECT CASE Mid(Stringa, I, 1)
      CASE "0" TO "9"
        Stringa2 &= Mid(Stringa, I, 1)
      CASE "," , "."
        Stringa2 &= "."
      CASE ELSE
        Stringa2 &= ""
    ENDIF
  NEXT
  TextBox.Text = Format(Val(Stringa2), "-##,###,##0.00")


Selezioni solo i numeri ed il separatore decimale (se l'utente pigia il punto o la virgola, è la stessa) e poi formatti il numero ottenuto. Nell'esempio qui sopra, hai il segno "-" che indica a Gambas di considerare il segno del valore solo se è negativo, poi hai una formattazione con "#"che rappresenta una cifra che può esserci oppure no, la "," che indica di utilizzare il separatore delle migliaia, poi lo "0" che indica di mettere comunque e sempre una cifra (per evitare numeri che inizino con la virgola come nel caso del ValueBox), il "." che dice di usare il separatore dei decimali e poi i 2 zeri finali che formattano il numero con 2 cifre decimali (o 2 zeri se non ci sono cifre dopo la virgola).

P.S.:
questo è un esempio semplicissimo. Si potrebbe migliorare il filtro usando le espressioni regolari oppure gestendo l'evento KeyPress e la funzione Key per selezionare in anticipo i tasti "buoni".
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: flot senza lo zero
« Risposta #4 il: 13 Agosto 2008, 17:04:02 »
no vabbè se mi assicuri che questo funziona uso questo.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: flot senza lo zero
« Risposta #5 il: 14 Agosto 2008, 09:05:10 »
Beh... l'ho scritto "al volo" direttamente nella form del forum. In effetti non l'ho provato, ma dovrebbe andare.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: flot senza lo zero
« Risposta #6 il: 16 Agosto 2008, 15:14:13 »
@ leo72

ma c'è un ENDIF in più che è inutile..ma hai sbagliato o c'è un IF che manca?

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: float senza lo zero
« Risposta #7 il: 16 Agosto 2008, 16:03:43 »
Te l'ho detto che l'avevo scritto al volo :-)
Ho sbagliato: era un END SELECT.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: float senza lo zero
« Risposta #8 il: 16 Agosto 2008, 18:19:43 »
ahi... :lol:  :lol:  :lol:

no scherzavo...ora la cosa inizia ad avere senso..in effetti mancava comunque l'END SELECT...ma pensavo mancasse anche l'IF....