Foros del Web » Programación para mayores de 30 ;) » .NET »

obtener la configuración regional de la máquina [vb.net]

Estas en el tema de obtener la configuración regional de la máquina [vb.net] en el foro de .NET en Foros del Web. hola, como puedo obtener la configuración del separador decimal de una máquina? saludos!...
  #1 (permalink)  
Antiguo 22/05/2005, 05:10
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
obtener la configuración regional de la máquina [vb.net]

hola,

como puedo obtener la configuración del separador decimal de una máquina?


saludos!
  #2 (permalink)  
Antiguo 22/05/2005, 08:57
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Lo siguiente necesita del espacio de nombres System.Threading

Para el separador de decimales:
Thread.CurrentThread.CurrentCulture.NumberFormat.C urrencyDecimalSeparator

Para el separador de grupos de cifras:
Thread.CurrentThread.CurrentCulture.NumberFormat.C urrencyGroupSeparator

No sé que intentes realizar con eso pero si tienes que hacer ciertas operaciones que dependen de la configuración regional de la máquina, entonces sería mejor que realizes dichas operaciones usando InvariantCulture, caso contrario la aplicación podría tener muchos errores ...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 22/05/2005 a las 09:05
  #3 (permalink)  
Antiguo 22/05/2005, 10:48
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
hola,

necesito saber el separador de decimales que tiene la máquina para saber en que formato debo guardar los números en la BD.

En mi aplicación utilizo el separador punto " . " pero si almaceno en la Bd un número con separador punto, y la máquina tiene una configuración de seprador de decimales coma "," , pues entonces me transforma los números. Es sólo por eso. Entonces antes de almacenar lo que quiero es hacer un replace del punto por el separador decimal de la máquina.


Cita:
Para el separador de decimales:
Thread.CurrentThread.CurrentCulture.NumberFormat.C urrencyDecimalSeparator
He utilizado este código que me has dicho y no me devuelve el separador decimal de la máquina. Me devuelve el separador decimal que yo he asignado a mi aplicación.
  #4 (permalink)  
Antiguo 22/05/2005, 12:07
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Cita:
Iniciado por freegirl
En mi aplicación utilizo el separador punto “ . ” pero si almaceno en la Bd un número con separador punto, y la máquina tiene una configuración de seprador de decimales coma “,” , pues entonces me transforma los números. Es sólo por eso. Entonces antes de almacenar lo que quiero es hacer un replace del punto por el separador decimal de la máquina.
Eso es justamente a una de los “problemas” que me refería al trabajar con una cultura específica, si trabajaras con InvariantCulture, no tendrías que hacer ese tipo de cosas ...

Cita:
Iniciado por freegirl
He utilizado este código que me has dicho y no me devuelve el separador decimal de la máquina. Me devuelve el separador decimal que yo he asignado a mi aplicación.
Me imagino que antes de recuperar el separador decimal no estás cambiando la cultura de tu aplicación, es decir:
Código:
' En mi caso muestra: "es-PE" y "."
MsgBox(System.Threading.Thread.CurrentThread.CurrentCulture.ToString) MsgBox(System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator)

' Luego de cambiar la cultura, muestra: "es-ES" y ","
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("es-ES")
MsgBox(System.Threading.Thread.CurrentThread.CurrentCulture.ToString) MsgBox(System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator)
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 22/05/2005 a las 12:17
  #5 (permalink)  
Antiguo 23/05/2005, 12:16
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Cita:
Iniciado por xknown
Me imagino que antes de recuperar el separador decimal no estás cambiando la cultura de tu aplicación, es decir:

resulta que lo hize a la inversa y por eso no me funcionaba, y claro, después pensando ya me dí cuenta que era por eso

Lo primero que hago es mirar que separador tiene la máquina y ya lo almaceno en una variable pública.

El código lo tengo puesto en el Load del Formulario principal.

saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:47.