Italian formattazione valori numerici

insoft

Member
Licensed User
Longtime User
Buongiorno a tutti.
Sono al mio primo progetto B4A e chiedo aiuto per un problema che mi assilla. In un db sqlite ho un campo reail contenente un importo - es. 1250,45.
Lo voglio visualizzare ed eventualmente far modificare all'utente tramite un edittext o un maskedittext.
La mia domanda è (so che è da principiante) come faccio ha traformarlo da 1250.45 che ho sul db ha un campo con la virgola e magari con i decimali separatori delle migliaia e una volta che mi hanno modificato il valore come eseguire l'operazione contraria per salvarlo nel db? Ma poi ho anche un altro problema : se definisco la tastiera come numerica al massimo mi mostra il punto e non la virgola per i decimali - c'è modo di cambiare la cosa o devo usare la tastiera alfanumerica completa.

Voi come vi comportate.
Grazie a tutti e scusate per il tempo che vi faccio perdere.

Massimo
 
Code:
Dim Fl As Float = 1250,45
Dim S As String = Fl
   
Log(Fl)
S=S.Replace(",",".")
Log(S)
Guarda i risultati dei log.
 
Alternativa 1

Code:
Dim Fl As Float = 1250,45
log(Fl)
log(Adapt(FL)
' tuo codice

Sub Adapt(Number as Float) as String
  Dim S As String = Fl
  Return S=S.Replace(",",".")
End Sub

Alternativa 2
Code:
Dim Fl As Float = 1250,45
log(Fl)
log(Adapt(FL)
' tuo codice


Sub Adapt(Number as String) as String
  Return Number.Replace(",",".")
End Sub
 
Code:
Dim Fl As Float = 1250,45
Dim S As String = Fl
  
Log(Fl)
S=S.Replace(",",".")
Log(S)
Guarda i risultati dei log.

Grazie per la risposta.
Immagino che per risalvarlo sul db faccio il contrario.
Mi resta il dubbio per la tastiera - chiaramente devo far apparire quella completa alfanumerica perché su quella solo numerica mi permette di digitare solo il punto e non la virgola come separatore dei decimali.

Giusto o c'è qualche trucco che io non conosco.

Grazie ancora a tutti.
Massimo
 
va bene la tastiera alfanumerica. Il risultato te lo restituisce in stringa che puoi trasformare con il replace.
 
Puoi anche dare un'occhiata a IME.SetCustomFilter dove definisci i "caratteri validi" per un determinato EditBox.
 
Puoi anche dare un'occhiata a IME.SetCustomFilter dove definisci i "caratteri validi" per un determinato EditBox.
Grazie, era solo perché pensavo si potesse in qualche maniera settare la tastiera numerica in modalità "italiana" cioè con i dieci numeri e la virgola. Comunque ancora grazie a tutti, faccio qualche prova con i vostri consigli e se ho ancora dubbi vi disturberò ancora.
Massimo
 
Grazie, era solo perché pensavo si potesse in qualche maniera settare la tastiera numerica in modalità "italiana" cioè con i dieci numeri e la virgola. Comunque ancora grazie a tutti, faccio qualche prova con i vostri consigli e se ho ancora dubbi vi disturberò ancora.
Massimo
Tutto é possibile, ma non sempre semplice. Questo é più semplice.
Cmq se vuoi cerca sul forum la libreria IME e puoi settare la testiera che vuoi.....
 
Last edited:
Tutto é possibile, ma non sempre semplice. Questo é più semplice.
Cmq se vuoi cerca sul forum la libreria IME e puoi settare la testiera che vuoi.....

Minimo
Grazie anche se non ho capito la tua firma.
Massimo e il mio nome.
Seguirò il tuo consiglio sulla libreria Ime

Ciao e grazie.
 
Back
Top