Sì, il formato dei numeri in virgola mobile vengono rappresentati in base alle impostazioni di lingua del sistema.
Hai due alternative:
1) imposti la lingua di Gambas2 con System.Language
2) Utilizzi la funzione Replace() per trasformare eventuali virgole in punti.
anche l'intercettazione dell'evento è valida (come descritto da picavbg), ma dipende da cosa vuoi ottenere.
Un mio suggerimento è di lasciare la visualizzazione così com'è, in base alla lingua del sistema operativo, così da permetterne la trasportabilità, e trasformare il valore dopo aver effettuato l'input.
Io di solito faccio così, perchè il problema maggiore viene in caso di trasformazione stringa/valore/stringa, che dipende dalle funzioni che usi. Per un fattore di trasportabilità, i valori Float devono essere mantenuti sempre e comunque internamente con un punto; la virgola viene usata nelle lingue latine, ecc.
Ricordati sempre che quello che ho detto è valido non solo per tutti i linguaggi di programmazione, ma è un concetto generale di base.
Tanto per dire, per i numeri abbiamo tre strati:
1) il formato binario, ovvero il valore com'è in memoria
2) per i valori in virgola mobile, il valore binario ha un formato particolare, completamente diverso dai numeri semplici
3) la sua rappresentazione in formato leggibile, purtroppo diversa da paese a paese...