Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 22-may-2007, 02:09   #1 (permalink)
Expinete ha deshabilitado el karma
 
Avatar de Expinete
 
Fecha de Ingreso: abril-2006
Mensajes: 181
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.
Expinete está desconectado   Responder Citando
Antiguo 22-may-2007, 07:36   #2 (permalink)
Sir Matrix está en el buen camino
 
Avatar de Sir Matrix
 
Fecha de Ingreso: noviembre-2002
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.248
Enviar un mensaje por ICQ a Sir Matrix
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
Sir Matrix está desconectado   Responder Citando
Antiguo 22-may-2007, 08:13   #3 (permalink)
Expinete ha deshabilitado el karma
 
Avatar de Expinete
 
Fecha de Ingreso: abril-2006
Mensajes: 181
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.
Expinete está desconectado   Responder Citando
Antiguo 22-may-2007, 13:25   #4 (permalink)
TheMaster000 ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
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.
TheMaster000 está desconectado   Responder Citando
Antiguo 23-may-2007, 04:26   #5 (permalink)
Expinete ha deshabilitado el karma
 
Avatar de Expinete
 
Fecha de Ingreso: abril-2006
Mensajes: 181
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
Expinete está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 00:03.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93