Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

problema con decimales

Estas en el tema de problema con decimales en el foro de Bases de Datos General en Foros del Web. Buen dia.. Realizando una pequeña aplicacion en asp.net me surgio una problema al momento de almacenar en bd debido a que estoy usando en mi ...
  #1 (permalink)  
Antiguo 26/01/2011, 10:29
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 14 años, 2 meses
Puntos: 1
problema con decimales

Buen dia..

Realizando una pequeña aplicacion en asp.net me surgio una problema al momento de almacenar en bd debido a que estoy usando en mi configuracion regional una , en lugar de un . para separar los decimales ahora bien cuando realizo el insert me toma la , como si fuera otro campo mas por lo que me manda un error de que el numero de campos no coinciden con los values... de esta forma deberia de ir

insert into tabla_decimales(campo1, campo2) values(12.56, 13.35)
....pero por la configuracion regional me aparece lo siguien

insert into tabla_decimales(campo1, campo2) values(12,56, 13,35)
...lo cual hace que marque el error poseo ya la referencia a globalization pero ya no se que mas hacerle para que me acepte el insert ...cabe mencionar que la , es un requerimiento del sistema... alguna sugerencia
  #2 (permalink)  
Antiguo 26/01/2011, 11:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema con decimales

Si estás usando algún conector en especial, te conviene parametrizar el objeto Command y dejar que el conector resuelva la conversión.
SI construyes la sentencia de inserción como un String, debes convertir el Double o Decimal que usas para el dato con un objeto CultureInfo "en-US".
Por ejemplo, en vb.Net:

Código VB.Net:
Ver original
  1. Dim nFI As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat
  2. Dim oStr as Sring = (varDouble).ToString("0000.00", nFI)
Donde varDouble es una variable de tipo Double que contiene un valor decimal.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2011, 08:23
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con decimales

excelente respuesta.. me ayudo bastante a solucionar mi problema ... mucha gracias, saludos !!

Etiquetas: bases-de-datos
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 11:57.