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

Archivo CSV - Decimales con Coma en lugar de Punto

Estas en el tema de Archivo CSV - Decimales con Coma en lugar de Punto en el foro de .NET en Foros del Web. Hola espero me puedan ayudar. El problema es el siguiente: tengo un WebService hecho en VB.Net. En este WebService tengo un metodo que realiza una ...
  #1 (permalink)  
Antiguo 06/07/2011, 12:53
 
Fecha de Ingreso: febrero-2011
Mensajes: 4
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta Archivo CSV - Decimales con Coma en lugar de Punto

Hola espero me puedan ayudar.

El problema es el siguiente: tengo un WebService hecho en VB.Net. En este WebService tengo un metodo que realiza una consulta a una base de datos y posteriormente crea un archivo con extension csv. Hasta aqui todo va bien.

El problema es que los ultimos campos de la consulta son Decimales y al crear el archivo csv me escribe estos datos de forma decimal pero con "," es decir si el valor es 25.24 en el archivo csv aparece como 25,24 y pues esto me causa un error al momento de abrir el csv en excel.

Esta es la forma en que creo el archivo csv. RS es un SQLDataReader, Escribir es un StreamWriter y Datos es una variable de tipo String

If Rs.HasRows Then
While Rs.Read
For i = 0 To Rs.FieldCount - 1
If IsDBNull(Rs(i)) Then
Datos = Datos & String.Empty & ","
Else
Datos = Datos & Rs(i) & ","
End If
Next
Datos = Datos.Remove(Datos.Length - 1, 1)
Escribir.WriteLine(Datos)
Datos = String.Empty
End While
End If

Ya he debugueado el codigo y la variable datos se escribe de forma correcta, es decir los decimales van con "." y no con ","

Lo mas exraño del caso es que este problema solo lo tengo con la version que esta montada en el servidor. hice pruebas de forma local en mi maquina y el archivo csv es creado de forma adecuada, pero al hacer pruebas con la version del WebService montado en el Servidor es cuando se crea el csv con "," en los decimales.

Espero me puedan ayudar a solucionar esto.

PD: Ya revise la configuracion regional del servidor y esta exactamente igual que la de mi computadora.
  #2 (permalink)  
Antiguo 06/07/2011, 12:54
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Archivo CSV - Decimales con Coma en lugar de Punto

Configuración Regional, revisalo
  #3 (permalink)  
Antiguo 06/07/2011, 12:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Archivo CSV - Decimales con Coma en lugar de Punto

Eso es tema netamente de Configuracion Regional como dice HaverRamirez. Mira este articulo. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #4 (permalink)  
Antiguo 06/07/2011, 15:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 4
Antigüedad: 13 años, 2 meses
Puntos: 1
De acuerdo Respuesta: Archivo CSV - Decimales con Coma en lugar de Punto

Problema Solucionado.

Efectivamente era la configuracion Regional, pero no se por que el programa tomaba otra configuracion distinta a la que estaba configurada en el servidor que aloja el WebService.

Pero esto se soluciono cambiando la configuracion regional unicamente de la aplicacion o del thread con las siguientes lineas de codigo:

Código:
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-MX")
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."
Es importante mencionar que se tienen que agregar estos imports

Código:
Imports System.Globalization
Imports System.Threading
Muchas gracias a HaverRamirez y Aquaventus por hacerme ver que el problema efectivamente era cuestion de la configuracion regional, ya que de no haber sido asi hubiera implementado una solucion mucho mas complicada o engorrosa.

Saludos
  #5 (permalink)  
Antiguo 06/07/2011, 15:54
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Archivo CSV - Decimales con Coma en lugar de Punto

Great !!!!
  #6 (permalink)  
Antiguo 06/07/2011, 16:00
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Archivo CSV - Decimales con Coma en lugar de Punto

Excelente gcmmemo. Cualquier otro problema no dudes en preguntar por el foro. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: csv, visual, webservice, vbnet
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 16:20.