Hola Grupo:
Tengo el siguiente problema que me tiene de cabeza. Yo uso Visual Basic 6.0 y 5.0, y en ambos pasa lo mismo. Cuando cambio la configuración regional, los valores formateados que muestro por pantalla, o en un Reporte son mostrados incorrectamente.
He realizado varias pruebas, y no entiendo por qué ocurre ni como solucionarlo.
La configuración regional que uso con los programas es ceparación decimal Punto (.) y separador de Miles (,). el problema es que algunos programas la utilizan al revez, por lo que se debe estar cambiando constantemente, ya que al cambiarlo, éstos programas no funcionan correctamente, lo cual no es óptimo.
Les cuento algunas pruebas que he hecho:
Si lo configuro con separador decimal Punto, y hago un val de un valor como "30.4" que es devuelto de un SQL a un TextBox, me entrega el valor correcto.
Si lo configuro con separador decimal Coma, y hago un val de un valor como "30,4" que es devuelto de un SQL a un TextBox, me entrega el valor sin decimales, en cambio si hago un val del valor "30.4" el valor es entregado correctamente. Lo cual me parece muy extraño.
Además me di cuenta que hay algunos SQLs, que entregan los valores con Punto, y Otros con Coma, por lo que al mostrarlos en un DataGrid, o un Reporte, muestran los valores erroneamente, con muchos ceros o algo así. No he podido determinar que tipo de consultas entrega el valor siempre con Punto, y cuales devuelven lo que dice la configuración decimal.
Si alguien sabe por qué ocurre esto, o como solucionarlo, agradecería lo postearan.