Italian formattazione valori numerici

Discussion in 'Italian Forum' started by insoft, Feb 2, 2018.

  1. insoft

    insoft Member Licensed 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
     
  2. Star-Dust

    Star-Dust Expert Licensed User

    Code:
    Dim Fl As Float = 1250,45
    Dim S As String = Fl
       
    Log(Fl)
    S=S.Replace(
    ",",".")
    Log(S)
    Guarda i risultati dei log.
     
  3. Star-Dust

    Star-Dust Expert Licensed User

    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 Stringas String
      
    Return Number.Replace(",",".")
    End Sub
     
  4. insoft

    insoft Member Licensed User

    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
     
  5. Star-Dust

    Star-Dust Expert Licensed User

    va bene la tastiera alfanumerica. Il risultato te lo restituisce in stringa che puoi trasformare con il replace.
     
  6. udg

    udg Expert Licensed User

    Puoi anche dare un'occhiata a IME.SetCustomFilter dove definisci i "caratteri validi" per un determinato EditBox.
     
  7. insoft

    insoft Member Licensed User

    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
     
  8. Star-Dust

    Star-Dust Expert Licensed User

    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: Feb 3, 2018
  9. insoft

    insoft Member Licensed User

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

    Ciao e grazie.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice