Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: Mario - 27 Giugno 2008, 11:30:26
-
Ciao a tutti,
il progettino che sto sviluppando sta venendo piuttosto carino, almeno dal mio punto di vista: lavorando su un sistema che utilizza ancora l'interfaccia a caratteri, una finestra ridimensionabile è quasi magia! :-)
Ho finalmente capito come gestire le date in modo corretto, e questo mi semplifica parecchio la vita.
Ma ho ancora un problema con i numeri.
Finché si tratta di cifre intere i problemi non sussistono, ma nelle fatture le cifre hanno due decimali, e sinceramente ho le idee un pochino confuse su come gestirle al meglio.
Ho visto che i vari spinbox e compagnia gestiscono esclusivamente gli interi, a parte escamotage che permettono di bypassare il problema (ho visto che c'è un topic per utilizzare gli spinbox con i decimali, ma non risponde a quello che vorrei fare)
Potreste chiarirmi il modo di gestire un campo con decimali nel modo più corretto?
Grazie :-)
-
Io ho risolto così:
1) uso l'evento Change() per verificare che nella TextBox l'utente inserisca solo numeri;
2) uso l'evento LostFocus sulla TextBox e formatto il contenuto in modo che il risultato abbia 2 decimali separati dalla virgola rispetto alla parte intera.
Ricordati che però, le funzioni matematiche di Gambas operano sulla formattazione internazionale dei numeri, quindi devi prima sostituire la virgola decimale con il punto, convertire il numero, fare le operazioni del caso, e poi riconvertire i numeri per la visualizzazione. E' un po' arzigogolato come procedimento ma è l'unico per lavorare visualmente con i decimali.
-
Grazie, Leo.
Certo che è strano che non ci sia una gestione nativa di valori come i floating, o almeno i decimali fissi...
-
Un aiuto è anche usare il ValueBox, che accetta numeri anche in formato decimale. Basta limitare i decimali a 2 e sei a posto per le valute.