cambiar la cultura

09/05/2006 - 13:21 por Aldo | Informe spam
Tengo configurado en Win XP en las opciones regionales el punto como decimal
y la coma como miles.
Desde mi aplicacion VB.NET la quiero cambiar a coma para decimales y punto
para miles.
Gracias a todos

Preguntas similare

Leer las respuestas

#1 SoftJaén
09/05/2006 - 14:54 | Informe spam
"Aldo" escribió:

Tengo configurado en Win XP en las opciones regionales el punto
como decimal y la coma como miles.
Desde mi aplicacion VB.NET la quiero cambiar a coma para
decimales y punto para miles.



Hola, Aldo:

Mejor será que tu aplicación se adapte a la configuración regional que el
usuario tiene establecida; nunca al revés.

No obstante, si no deseas utilizar la configuración regional existente,
puedes utilizar un objeto «NumberFormatInfo», que tome la configuración
numérica correspondiente a un objeto «CultureInfo» relativa a una
configuración de español de España:

' Obtengo la información de formato númerico, correspondiente
' a una configuración numérica de español de España.
'
Dim nfi As Globalization.NumberFormatInfo = _
New Globalization.CultureInfo("es-ES", True).NumberFormat

' Muestro el valor con los sepraradores por defecto.
'
TextBox1.Text = CDbl(TextBox1.Text).ToString("N", nfi)

El ejemplo formatea el número existente en un control TextBox, por lo que lo
puedes ejecutar, por ejemplo, en el evento «Leave» de dicho control, de tal
forma que cuando el foco abandone el control, el número se aparezca con el
formato que tú le has indicado.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Luis Miguel Blanco
09/05/2006 - 14:58 | Informe spam
Hola Aldo

Prueba a obtener el objeto que contiene los valores culturales actuales de
la configuración, modifica las propiedades de formato que necesites, y lo
vuelves a asignar a la hebra de ejecución. Te adjunto un ejemplo para que lo
pruebes:

'/////////////////////////////
Imports System.Globalization
Imports System.Threading
'
'
Dim dtFecha As DateTime = DateTime.Today
Dim nImporte As Double = 2834.4

' obtener la configuración regional
Dim oCultInfo As CultureInfo = Thread.CurrentThread.CurrentCulture

' modificar aspectos de formato para fechas
oCultInfo.DateTimeFormat.DateSeparator = "-"
oCultInfo.DateTimeFormat.AMDesignator = "Zona horaria AM"
oCultInfo.DateTimeFormat.PMDesignator = "Zona horaria PM"
MessageBox.Show("Formato de fecha adaptado: " & dtFecha.ToString("G"))
' ejemplo de resultado: 9-18-2003 12:00:00 Zona horaria AM

' modificar aspectos de formato para números
oCultInfo.NumberFormat.CurrencyDecimalSeparator = "*"
oCultInfo.NumberFormat.CurrencySymbol = "pts"
MessageBox.Show("Formato de número adaptado: " & nImporte.ToString("C"))
' ejemplo de resultado: 2,834*40

' cambiar la configuración regional actual
Thread.CurrentThread.CurrentCulture = oCultInfo
'/////////////////////////////

Espero que te sirva
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Aldo" wrote:

Tengo configurado en Win XP en las opciones regionales el punto como decimal
y la coma como miles.
Desde mi aplicacion VB.NET la quiero cambiar a coma para decimales y punto
para miles.
Gracias a todos



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida