Numero Decimal

22/04/2004 - 00:56 por Julio | Informe spam
Hola Grupo

Necesito tener por los menos tres o dos dígitos en esta sentencia y el
resultado que me trae es erróneo.

Es decir tengo una tabla con dos campos y creo una vista para tener un campo
que contenga como resultado la formula que se nuestra en el código

Donde Suma2 = Suma entre la raíz cuadrada de suma al cuadrado + suma1 al
cuadrado. Ahora el resultado que devuelve contiene muchos dígitos después
del punto y me interesa por lo menos tres o dos.

Cuando resto este resultado de 0.9 me da un valor erróneo




Create table Test1
(Suma decimal,suma1 numeric)
GO
Insert into Test1
(Suma,Suma1)
Values (35746,21471)
GO
Create View Pepe
AS
select Suma,Suma1, Suma / sqrt(SQUARE(Suma) + SQUARE(Suma1))As Suma2
from Test1
GO
Select CASE WHEN Suma2 < 0.9 THEN 0.9 - Suma2
ELSE Suma2 END AS Suma2
FROM Pepe

Preguntas similare

Leer las respuestas

#6 Julio
22/04/2004 - 22:43 | Informe spam
Ok, gracias ambos.
"Jose Mariano Alvarez (MUG)" <jose.alvarez * *Arroba* * mug.org.ar> wrote in
message news:
Si pero hazlo al final de todo luego de hacer todas las cuentas con todos
los decimales.
Sino los errores que vas a arrastrar son mas grandes.

Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar



"Carlos Sacristan" <csacristan ARROBA mvps.org> wrote in message
news:
> Usa entonces la función ROUND. Echa un vistazo en los BOL la
información
> que viene acerca de ella
>
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "Julio" escribió en el mensaje
> news:
> > Otra razon por lo cual lo necesito en decinal reducido es porque tengo
que
> > presentar este numero como estadisticas
> >
> >
> >
> >
> >
> > "Julio" wrote in message
> > news:
> > > Hola José, si veo que el resultado es el mismo, ahora bien lo que
busco
> es
> > > no tener tanto numero decimales. Lo que sucede es que ese resultado
que
> me
> > > da Suma2 menos 0.9 se multiplicara por una cantidad específica que


el
> > > resultado será dinero.
> > >
> > > El resultado de la formula se puede limitar a que me devuelva la
> cantidad
> > de
> > > decimales que yo quisiera?
> > >
> > >
> > >
> > > Es decir:
> > >
> > > select Suma,Suma1, Suma / sqrt(SQUARE(Suma) + SQUARE(Suma1))As Suma2
> > > from Test1 = 0.85724525197764734 (Suma2)
> > >
> > >
> > >
> > > Se puede tener algo como: 0.857
> > >
> > >
> > >
> > > Luego 0.9-0.857 = 0.043
> > >
> > >
> > >
> > > Luego multiplicare este numero 0.043 * 29810.515 = 1281.852145
> > >
> > >
> > >
> > > A diferencia de esto 0.9 - 0.85724525197764734 > 4.2754748022352684E-2
> > >
> > >
> > >
> > > Luego 4.2754748022352684E-2 * 29810.515 = 1274.5410572415651
> > >
> > > En realidad quiero trabajar con menos decimales después del punto.
> > >
> > >
> > >
> > > Ahora bien si en un futuro puede traer problema la transformación
> prefiero
> > > trabajar con ellos con esta cifras enormes
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Create view pepe1
> > > AS
> > > select Suma,Suma1, Suma / sqrt(SQUARE(Suma) + SQUARE(Suma1))As Suma2
> > > from Test1 = 0.85724525197764734 (Suma2)
> > >
> > > Ahora el resultado de esta operacion:
> > > Select CASE WHEN Suma2 < 0.9 THEN 0.9 - Suma2
> > > ELSE Suma2 END AS Suma2
> > > FROM Pepe1 = 4.2754748022352684E-2
> > >
> > > Donde deveria de ser 0.9 - 0.85724525197764734 0.04275474802235266
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > "Jose Mariano Alvarez (MUG)" <jose.alvarez * *Arroba* * mug.org.ar>
> wrote
> > in
> > > message news:
> > > > Por que dices que esta mal el resultado?
> > > > Para mi esta bien.
> > > >
> > > >
> > > > Te sugiero que uses numeros de punto flotante para este tipo de
> > > operaciones
> > > > Los tipopos de dato son Float y Real.
> > > >
> > > >
> > > >
> > > >
> > > > Jose Mariano Alvarez
> > > > jose (.) alvarez * *Arroba* * mug (.) org (.) ar
> > > > Comunidad de base de datos
> > > > Grupo de Usuarios Microsoft
> > > > www.mug.org.ar
> > > >
> > > >
> > > > .
> > > > "Julio" wrote in message
> > > > news:OsKwHQ$
> > > > > Hola Grupo
> > > > >
> > > > > Necesito tener por los menos tres o dos dígitos en esta


sentencia
y
> el
> > > > > resultado que me trae es erróneo.
> > > > >
> > > > > Es decir tengo una tabla con dos campos y creo una vista para
tener
> un
> > > > campo
> > > > > que contenga como resultado la formula que se nuestra en el


código
> > > > >
> > > > > Donde Suma2 = Suma entre la raíz cuadrada de suma al cuadrado +
> suma1
> > al
> > > > > cuadrado. Ahora el resultado que devuelve contiene muchos


dígitos
> > > después
> > > > > del punto y me interesa por lo menos tres o dos.
> > > > >
> > > > > Cuando resto este resultado de 0.9 me da un valor erróneo
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Create table Test1
> > > > > (Suma decimal,suma1 numeric)
> > > > > GO
> > > > > Insert into Test1
> > > > > (Suma,Suma1)
> > > > > Values (35746,21471)
> > > > > GO
> > > > > Create View Pepe
> > > > > AS
> > > > > select Suma,Suma1, Suma / sqrt(SQUARE(Suma) + SQUARE(Suma1))As
Suma2
> > > > > from Test1
> > > > > GO
> > > > > Select CASE WHEN Suma2 < 0.9 THEN 0.9 - Suma2
> > > > > ELSE Suma2 END AS Suma2
> > > > > FROM Pepe
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida