Problemas con decimales
-
Tengo una tabla con 2 campos(character) con valores decimales usando el punto. Ej: "563.22"
Necesito sumar esos campos, cuando lo hago hace cualquier cosa, pongo:
total=format(campo1,"##.##")+format(campo2,"##.##" )
Ahora....si modifico los registros y los pongo con coma. Ej:"563,22" anda de maravillas
Alguien sabe como se puede solucionar? Aunque sea reemplazar el punto por la coma.
Gracias!!!! -
hola deberias ir a inicio, configuracion, panel de control, configuracion regional y de idioma, Opciones regionales, personalizar, solapa numeros, simbolo decimal: . en vez de , y listo... esa es una solucion, te tiré una puntita,espero que te sirva
-
El inconveniente se te va a presentar donde implementes el desarrollo en una maquina que tenga una configuracion regional diferente a la tuya, por ejemplo: vos preparas el sistema para trabajar sobre la configuracion coma=> separador decimal, punto=> separador de miles. Que ocurriria si vos queres implementarlo en una maquina que tenga configuracion regional yanqui? (coma=> separador de miles, punto=> separador decimal)
Me parece que, sobre todo en este tipo de temas, es mejor tomar la configuracion local (con apis para acceder al registro), o, en todo caso, forzar a que se utilice una configuracion regional determinada (desde el sistema cambiando la configuracion automaticamente o forzando a que el usuario cambie la configuracion). -
Estuve tratando de cambiar la configuracion desde el sistema, pero se me estaba haciendo un quilombo. Problemas no voy a tener, porque aquella maquina que este configurada de otra manera, a la hora de sumar convierto el decimal. Igual con un filtro en la carga de la informacion ya no se escaparia ninguno
-
Hola
yo tenia un problema similar porque resulta que cuando venia un numero de la BD venia con coma y yo uso punto pa los decimales entonces cuando queria grabar hacia algo asi oCbt.importe=val(me.txtImporte.text) y el resultado era que la coma hacia como "truncador" osea que si en el textbox tenia 12.7 despues del val aparecia solo 12, para arreglar esto hice así
dim Importe as Decimal
Importe = Decimal.Parse(Me.txtImporte.Text, System.Globalization.CultureInfo.InvariantCulture)
Con esto conviertes el valor del textbox interpretando correctamente los separadores de decimales en función a la configuracion regional
Espero te sirva
salu2
SergioT
http://sergiotardio.blogspot.com/
