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

Problema con , o . para numeros

Estas en el tema de Problema con , o . para numeros en el foro de .NET en Foros del Web. Hola el asunto es que tengo un campo float el cual funciona bien pero en otros casos tengo problemas: - Si ingreso cualquier numero con ...
  #1 (permalink)  
Antiguo 19/06/2011, 22:48
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Problema con , o . para numeros

Hola el asunto es que tengo un campo float el cual funciona bien pero en otros casos tengo problemas:

- Si ingreso cualquier numero con , da error. EJ: 3,56
- Si ingreso cualquier numero con . funciona. EJ: 3.56

Entonces pensando en eso no habria problema si siempre ingreso usando como separar el .

Pero cuando yo cargo un valor ya ingresado en la base de datos me lo muestra con separador ,

He revisado la base de datos directamente y están ingresados con separador ,

Como puedo solucionar o de alguna manera estandarizar esto, ya sea que el usuario pueda usar e. . o la , como separador sin problemas?

Gracias por cualquier sugerencia.

PD: estoy trabajando con VB NET en winforms con SQL SERVER EXPRESS 2008 R2
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #2 (permalink)  
Antiguo 20/06/2011, 02:21
Avatar de Noa_  
Fecha de Ingreso: diciembre-2010
Ubicación: El Oceano de Sus Ojos ..☺
Mensajes: 132
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con , o . para numeros

y si antes de colocarlo al textbox lo remplazas?? con el .replace
__________________
La Tecnologia Se Apodero de Nuestras Vidas, Sin Embargo La Ciencia Se Niega en Aceptar Nuestras Mentes
  #3 (permalink)  
Antiguo 20/06/2011, 02:22
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia
Mensajes: 152
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Problema con , o . para numeros

Buenas.

Yo tuve un problema parecido con los datos introducidos por el usuario, lo solucione reemplazando la coma por un punto en el momento en que el usuario lo escribe.

Espero te sirva.
  #4 (permalink)  
Antiguo 20/06/2011, 08:09
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: Problema con , o . para numeros

Hola Highlander! Como dice Noa_ puedes usar el Replace o con el evento keypress del textbox impedir que ingrese las comas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 20/06/2011, 08:22
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Respuesta: Problema con , o . para numeros

Compañeros, recuerden que el echo que el separador de miles o decimales sea "," o "." puede variar según la configuración regional de equipo así que un remplace no garantizara que funcione en otro computador con otra configuración regional.

Delen una miradita a esta pagina
http://www.elguille.info/NET/dotnet/...or_decimal.htm

les puede dar una orientación hacia el manejo mas adecuado de este tipo de información

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #6 (permalink)  
Antiguo 20/06/2011, 08:27
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: Problema con , o . para numeros

Sí que sí jhonwilliams, la configuracion regional haria eso para el mostrado de datos, pero aun así creo que deberia validar que no se ingrese la "," si el lo desea para evitar un tantillo ese problema, no esta demás usar validación .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 20/06/2011, 09:47
Avatar de ldcd  
Fecha de Ingreso: enero-2010
Ubicación: Distrito Federal
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Problema con , o . para numeros

Yo tuve un problema similar haciendo un sistema en Silverlight, lo solucione asignando una cultura a la aplicacion general, para que independiente de la configuracion regional del equipo, me asigne la configuracion que necesito.

Esto lo hice con el currentThread.Culture

Espero te sirva, por que podria dar una sensacion de error al usuario que si el escribe una , le aparesca un . o al reves
  #8 (permalink)  
Antiguo 20/06/2011, 10:59
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Problema con , o . para numeros

Hola, gracias por las respuestas, probe el codigo que me indica el separador de decimales que esta usando mi sistema y me salio la , lo cual esta bien.

Sin embargo cuando uso la , por ej: 4,56 da el sgte error:

Error converting data type nvarchar to numeric

Mi idea no es cambiar con keypress la , por el . sino que el usuario pueda ingresar cualquiera de esas dos maneras y luego tomar el valor y convertirlo al correcto antes de insertarlo a la BD.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #9 (permalink)  
Antiguo 20/06/2011, 11:15
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: Problema con , o . para numeros

Mmm bueno en todo caso no restringas nada en el keypress , sino que lo puedes convertir con el replace al momento de guardar.
Código vb.net:
Ver original
  1. '10,23
  2. Dim cadena As String = txtNumero.Text
  3. ' Retorna "10.23".
  4. cadena = Replace(cadena , ",", ".")
  5. 'y al final lo conviertes a tu Double o Decimal :
  6. Dim numero As Double = Convert.toDouble(cadena)
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #10 (permalink)  
Antiguo 20/06/2011, 13:42
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Problema con , o . para numeros

Cita:
Iniciado por Aquaventus Ver Mensaje
Mmm bueno en todo caso no restringas nada en el keypress , sino que lo puedes convertir con el replace al momento de guardar.
Código vb.net:
Ver original
  1. '10,23
  2. Dim cadena As String = txtNumero.Text
  3. ' Retorna "10.23".
  4. cadena = Replace(cadena , ",", ".")
  5. 'y al final lo conviertes a tu Double o Decimal :
  6. Dim numero As Double = Convert.toDouble(cadena)
Saludos!.
Gracias eso era justo lo que intentaba hacer.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Etiquetas: numeros
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 22:47.