In effetti, esiste qualche problema...
con:
? Val("123")
mi ritorna correttamente:
123
con (punto separatore decimali):
? Val("123.5")
mi ritorna stringa vuota
con (virgola separatore decimali):
? Val("123,5")
mi ritorna:
123,5
fino a qui nessuna anomalia, anche se con il punto non riesce a decodificarlo, dato che come lingua ho it_IT.UTF-8.
Ma se da terminale, eseguo:
# LANG=en_US gambas2
e sul terminale di gambas digito (con punto separatore decimali):
? Val("123.5")
mi ritorna correttamente:
123.5
che è giusto, perchè il separatore dei decimali in USA è il punto
ma se digito (con virgola separatore decimali):
? Val("123,5")
mi ritorna stranamente:
1235
come se ignorasse la virgola.
A questo punto credo che la correzione che hanno fatto, viene gestita solo per la lingua inglese (il che è pure normale), ma non per le altre.
Questo è un errore evidente, e và segnalato; probabilmente non si sono accorti, oppure non hanno ben verificato la funzione nelle varie casistiche.
Ad ogni buon conto, se ti serve, al momento ti consiglierei di trasformare tu stesso i valori in stringa, cercando di individuare i caratteri di separazione.