FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cuando cero - cero es 5.755533321E-13
Hola a todos
He creado un Sp que me saca el saldo anterior de un periodo (sumando y restando debe-haber los campos estan definidos como numeric (15,2) ) unos campos me retornan valores medios diabolicos como los indicado en el mensaje aque se debe esto y como debo corregirlos Nota : Repito los campos son numeric (15,2) los valores son ingresados con dos decimales no hay posibilidad de ingresar mas de dos digitos Cuando resto (saldo_ant+debe-haber)<>0 los campos con supuestos ceros se muestran me posiciono en este campo Saldo_ant (se muestran los numeros indicados) Que puedo hacer De antemano gracias
__________________
IVAND |
#2
|
|||
|
|||
En algún momento se está contaminando con cálculos en punto flotante. O bien encuentras lo que está contaminando tus cálculos o reemplazas tus comparaciones con 0 con algo asi (x>-0.1E-6) and (x<0.1E-6) por ejemplo.
|
#3
|
||||
|
||||
es común
Estas usando Double Precision en la declaración de las variables con las que haces cálculos, ¿verdad? A mi me pasó y tube que rehacer las tablas y ponerlas como Numeric(15,3) y a partir de entonces me fue de perlas.
Cuando operes con cantidades con decimales en Delphi usa el .asCurrency que es menos preciso y no añade decimales de más. Espero que lo que te digo te vaya bien. |
#4
|
|||
|
|||
Gracias por su interes
Todas mis tablas tienen declarados los campos numeric(15,2) no estan como double precision el sp tiene igual cosa que mas puedo hacer
__________________
IVAND |
#5
|
|||
|
|||
La trama se complica :-( he localizado el valor que me esta dando 5.3333333 -E15 , lo curioso es que borro el valor lo vuelvo a ingresar y sigue con el problema , que pasa con el bendito firebird 1.53 o el que esta mal soy yo ,
campo haber definido como numeric(15,2) , valor visualmente mostrado 1535.37 me pongo sobre el campo (utilizo ib expert) me muestra 1535.369999999999999 estoy medio decepcionado imaginesen esto en un banco o alguna cooperativa , Tendriamos que cambiar la logica de como se ingresa un valor o que se yo pues este caso solo lo tengo en un ingreso (tengo mas de 500000) Alguien que me de una mano por favor
__________________
IVAND |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Imprimir con QRDBText un cero cuando el valor es nulo | ISKANDAR | Impresión | 9 | 03-10-2005 23:08:06 |
Codigo a cero en un BD | CARSOFT_AR | Conexión con bases de datos | 10 | 09-06-2005 02:23:36 |
division por cero | kalimero | Varios | 7 | 21-12-2004 16:24:28 |
empezando de cero | frenadol | Varios | 1 | 22-07-2004 01:11:38 |
Crystal Reports desde cero, cero, cero. | Repelus | Impresión | 1 | 08-03-2004 21:23:14 |
|