Decimales en VB 6

Publicado por Juanjok, Noviembre 20, 2005, 16:01:55

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Juanjok

Bueno lo mio es medio simple pero no me acuerdo y no tengo acá ningun manual de VB, el tema es asi, necesito hacer un calculo, pero tengo muchos valores con decimales y yo solo necesito cargar 4 decimales ya que ese el valor legal con los decimales que se deben calcular.-

El programa es para calcular intereses sobre un capital



Yo necesito saber como hacer para tomar en los resultados parciales y fianles 4 decimales

Este es el codigo del programa y una captura del programita

Private Sub calcular_Click()
c = capital.Text
ia = inta.Text
im = ia / 12
cuot = cuotas.Text
f1 = im / 100
f2 = (1 + f1)
ftt = 0
ft = 1
For cont = 1 To cout Step 1
ftt = ft * f2
ft = ftt
Next cont
ds = ft * f1
di = ft - 1
rc = c * ( ds / di )
cuotasr.Text = rs
End Sub



capital.text = TEXT BOX CAPITAL
inta.Text = TEXT BOX INTERES ANUAL
cuotas.Text 0 TEXT BOX CUOTAS
cuotasr.Text = TEXT BOX VALORES DE LAS CUOTAS

Que tengo que modificarle para lo que necesito que tome solo 4 decimales desde ya muchas gracias por la ayuda

emmaskapunk

Y si hablas en catellano?..chau! :oops:
ESTO SE ESTA DEGENERANDO DIJO LA ABUELA :D

Juanjok

Cita de: emmaskapunkY si hablas en catellano?..chau! :oops:

No entendi, pero si es por la formula de la imagen es la formula para el calculo de intereses creo que es la del metodo aleman, la puse asi se saben que estoy haciendo pero por las dudas aclaro un poco más

ia es el valor de texto de inta lo divido pro 12 para conseguir el interes por mes, el interes por mes es im

luego f1 es el resultado del factor interes mensual im sobre 100 que es un termino que aparece 3 veces en la formula

f2 es el el factor f1 + 1 que aparece dos veces en al formula

en al for lo que hago es multiplicar en m cantidad de veces, ya que m con los menes o cuotas, para hacer este aperación lo que hago es asignar a la variable ftt la multiplicacion de la variable ft por f2 y luego asignarle a ft el valor de ftt asi para que en la proxima pasad se cumpla lo requerido que es multiplicar una ves más el factor hasta llegar a m siempre incrementando de a 1; alli lo que me dy cuenta ahora que faltaria es dejar en 0 a ftt (ftt=0) para evitar algun error de carga

luego al tener ya los resultados y al ser ft el termino f2 a la m puedo proceder a determinar el numerador y el denominador de la operación  para ello ds es el numerador y di el denominador

luego calculo  el rc (resultado de cuota) haciendo la unica operación que falta

Aclaro todo esto para que se entienda la logica, lo que yo necesito es que cuando tenga un resultado más de 4 decimales trunque en el 4 decimal, nisiquiera pido que se haga el redondeo solo que trinque asi no arrastro toneladas de decimales a los calculos siguientes

FiGu

Juanjok lo ke keres es ke te limite el resultado en 4 decimales??

snoop

encontre esto no se si sirve:
Citar
Dim MiVar, pi
pi = 3,14159
Round(pi, 2)
http://www.eside.deusto.es/grupos/gedi/recursos/referencias/vbscript/HTML/vsfctround.htm

Por lo que leí round funca desde la version 6.
El tema es que esta funcion te lo va a "redondear" y no a trunquear...
Sino la otra es usar manejo de cadenas.. y probar tomar los primeros 4 valores despues del punto.
La verdad que no me acuerdo mucho de vb pq' no lo uso.
PD: Odio VB.. :evil: acaso no hay que definir el tipo de variable  :?
¿ Tu emule te aparece así ---- ? ¡¡ Tenés LOWID !! : >>SOLUCIÓN<<

Juanjok

Cita de: FiGuJuanjok lo ke keres es ke te limite el resultado en 4 decimales??

Claro que cada resultado tenga limitado a 4 decimales

por ejemplo: 19% anual de interes en 12 meses es a 1.5833333333333 de interes mensual

yo necesito que solo tome 1.5833 cuando a eso lo divido en 100 me quede 0.0158 y asi con todo lso resultados

SNOOP voy a probar ese dato que me pasaste y aviso que tal me va

FiGu

bueno.. no segui el hilo de tus variables pero es asi.. mira.. el ke dice 4Dec.. vendria a ser la variable limitada a 4 decimales y la TodosDec la variable con los 3456 decimales ke obtenes vo..

4Dec = Format(TodosDec, "0.0000")

Ejemplo..

tenemos:
TodosDec = 1,5833333333333

Funcion
4Dec = Format(TodosDec, "0.0000"

Obtenemos
4Dec = 1,5833

dentro de format le asignas la cantidad de decimales ke keres en la parte donde esta: "0.0000"

espero ke te sirva.. cualkier cosa avisa..

Flequi

exacto con el format limitas los decimales!!