Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Redondeos en SQL Server

Estas en el tema de Redondeos en SQL Server en el foro de Visual Basic clásico en Foros del Web. Hola a todos. Tengo un problema desde hace mucho tiempo que no lo he podido solucionar. En una Tabla de SQL Server tengo un campo ...
  #1 (permalink)  
Antiguo 22/05/2007, 02:09
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Redondeos en SQL Server

Hola a todos. Tengo un problema desde hace mucho tiempo que no lo he podido solucionar.
En una Tabla de SQL Server tengo un campo "Importe" Tipo float.
En un formulario de Visual Basic tengo un cuadro de texto con el valor 74,99

Al asignarle el valor al campo de la base de datos pongo lo siguiente:
rs.fields("Importe")=round(cdbl(txtimporte.text),2 )
También he probado a hacer lo siguiente:
Dim Importe as double
Importe=round(txtimporte.text),2)
rs.fields("Importe")=importe

Si miro el valor de rs.fields("Importe") lo tiene correcto: 74,99 pero sin embargo miro en la base de datos y ha grabado 74,989999999999995.

Esto me da muchos problemas a la hora de sumar la columna de Importe.

Agradecería alguna ayuda.
  #2 (permalink)  
Antiguo 22/05/2007, 07:36
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Re: Redondeos en SQL Server

Hola.
Prueba cambiar el tipo de datos del sql server de Float a Decimal, con la cantidad de decimales que necesites

campoDecimal (9,3) -- con 3 decimales por ejemplo

saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #3 (permalink)  
Antiguo 22/05/2007, 08:13
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Re: Redondeos en SQL Server

Gracias pero no puedo hacer eso porque tengo en la base de datos muchas tablas que tienen campos float y tendría que modificar tabla por tabla en todos los usuarios y luego actualizar un montón de informes de crystal report.
  #4 (permalink)  
Antiguo 22/05/2007, 13:25
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
De acuerdo Re: Redondeos en SQL Server

hola trata de mirar el tipo de datos que utilizaste cuando creaste la tabla depronto es que no tuviste en cuenta cuando cifras significativas hibas a tener en cuenta con el tipo de dato float.
  #5 (permalink)  
Antiguo 23/05/2007, 04:26
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Mensaje Re: Redondeos en SQL Server

Cuando creo un campo Float SQL me pone por defecto 53 en precisión y no lo puedo cambiar
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 05:43.