Italian Conversione EditText da string a number

Francesco Laudo

New Member
Ciao a tutti.
Sono un nuovo menbro del forum che spera di riuscire ad imparare bene B4A e apro questa nuova discussione per chiedervi un piccolo aiuto.
Mi spiego brevemente.
Nella mia "app/studio" ho 2 EditText in cui l'utente inserisce un valore numerico. Premendo un bottone si deve ottenere la somma dei dure valori inseriti. Il problema sorge qui: se vengono inseriti valori interi l'"app/studio" funziona perfettamente mentre se si inseriscono valori decimali (uno o entrambi) viene generata una eccezione.
Quindi mi sono chiesto: i valori inseriti nelle EditText vengono considerati "stringhe" dal programma? Se si come faccio a convertirli da stringhe a numeri?
Questo è il codice che ho scritto:
B4X:
Sub totale_Click
    Dim valore1 As Float
    Dim valore2 As Float
    valore1 = addendo1.Text
    valore2 = addendo2.Text
    risultato.Text = valore1 + valore2
End Sub
Ciao, grazie mille
 

LucaMs

Expert
Licensed User
Longtime User
Ciao e benvenuto.

Sarebbe bene che tu pubblicassi anche l'eccezione sollevata (suggerimento per la prossima volta).

Il tuo codice è corretto.

Il testo inserito in una EditText è testo, quindi una stringa. Se inserisci una cifra decimale con la virgola, come si usa nel sistema italiano, ottieni un errore, in quanto in b4a, come in tutti i linguaggi, si usa invece il punto come separatore dai decimali.
 

MarcoRome

Expert
Licensed User
Longtime User
Inserisci nei tuoi EditText il tipo Input Type DECIMAL_NUMBER, in questo modo non potranno digitare la virgola, ma solo il punto e avrai risolto il problema

upload_2017-10-19_14-43-24.png
 

MarcoRome

Expert
Licensed User
Longtime User
Infatti utilizzerai il punto al posto della virgola come fai esattamente sulla tastiera del computer

upload_2017-10-19_15-50-26.png
 

MarcoRome

Expert
Licensed User
Longtime User
Non tutti gli utenti sono abituati a questo. L'ideale, per un utente "normale" italiano, sarebbe inserire i decimali usando la virgola.
A Luuu.. :D:D. Se apri excel, e provi a cliccare sulla tastiera numerica del computer il punto, inserisce in automatico la virgola. Penso che anche per l'utente "normale" sia più comodo digitare sulla tastierina numerica ( quella nella foto intendo ) e non sulla tastiera dove ci sono anche le lettere se deve inserire dei numeri.
Comunque.... bene lo stesso
 

LucaMs

Expert
Licensed User
Longtime User
In effetti sarebbe ora che ci adeguassimo allo standard anglosassone.

COMUNQUEEE :p...

Stiamo parlando di app; magari, se lo ritrovo, pubblico il codice che utilizzai per risolvere questa cosa (se non ricordo male, semplicemente rilevava il separatore decimale e faceva in modo che sul tastierino SW tu potessi digitare solo il carattere giusto a seconda della "localizzazione". Probabilmente usando qualche codice nell'input type (non da Designer, ovviamente)).
 

Star-Dust

Expert
Licensed User
Longtime User
Come tu Bruto fili mi... manifesti tanto attaccamento al italiano correggiuto, e dai forfait alla prima moda anglosassone
 

LucaMs

Expert
Licensed User
Longtime User
Come tu Bruto fili mi... manifesti tanto attaccamento al italiano correggiuto, e dai forfait alla prima moda anglosassone
Qui non è questione di moda, ma di standardizzare qualcosa che ci faciliterebbe la vita.

Che poi io voglia decapitare in diretta TV i giornalisti che usano termini inglesi (senza nemmeno saperli pronunciare) e peggio ancora i politici che li usano, magari anche all'interno di leggi ufficiali dello Stato, questo è ovvio :D
 
Top