SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Nalah en Jueves 1 de Marzo de 2007, 15:57

Título: Longitud De Una List Box
Publicado por: Nalah en Jueves 1 de Marzo de 2007, 15:57
wenas de nuevo. aqui estoy con otra dudita. tengo muchos datos en una list box. son cantidades en euros. por tanto tienen q tener decimales. pero solo quiero q tengan dos decimales todos los datos. son datos calculados asi q si la multiplicacion da 25,4457 pues me muestra todo cuando yo solo quiero 25,44

Espero haberme explicado

un besazo
Título: Re: Longitud De Una List Box
Publicado por: ElNapster en Jueves 1 de Marzo de 2007, 16:10
Si se alimenta de una tabla de una bd , haz tu consulta y que el te lo redonde de una vez asi no tocas nada de  codigo vb sino de la bd ..... es mas aconsejable...  ;)

 :comp:
Título: Re: Longitud De Una List Box
Publicado por: Nalah en Jueves 1 de Marzo de 2007, 16:16
el problema es q no lo cojo de una base de datos. tengo varias list box. en una, la base de la factura, en la otra el iva y en la ultima me calcula el total. al calcular eliva por la base me dan muchso decimales.
Título: Re: Longitud De Una List Box
Publicado por: ElNapster en Jueves 1 de Marzo de 2007, 16:17
Ahora bien si los calculos los haces en tu aplicacion haz lo siguiente

Código: Text
  1. Dim a, b, c As Double
  2. c = 2 * 2.895964
  3. c = 2 * 2.895964
  4. List1.AddItem (Round(c, 2))
  5.  
algo por el estilo  :comp:

Suerte....
Título: Re: Longitud De Una List Box
Publicado por: Nalah en Jueves 1 de Marzo de 2007, 16:57
Muchisimas gracias. Funcionaaaaaa.  Gracias
Título: Re: Longitud De Una List Box
Publicado por: ElNapster en Jueves 1 de Marzo de 2007, 17:13
Es un placer .... cualquier duda estoy a las ordenes  ;)

 :comp:
Título: Re: Longitud De Una List Box
Publicado por: mamex en Viernes 2 de Marzo de 2007, 00:55
Que tal, mira, esa función (Round) sirve para redondear, yo hice una para truncar, recuerda que redondar y truncar NO es lo mismo. Aqui te pongo el código por si lo necesitas.

Código: Text
  1.  
  2. 'Saca la cantidad de decimales que le digas a una cantidad
  3. Public Function Decimales(ByVal num As Double) As String
  4.     Dim txt As String, pos As Integer
  5.     txt = num
  6.     pos = InStr(1, num, ".", vbTextCompare)
  7.     If pos = 0 Then _
  8.         pos = InStr(1, num, ",", vbTextCompare)
  9.     If pos <> 0 Then
  10.         Decimales = Right(txt, Len(txt) - pos)
  11.     Else
  12.         Decimales = "0"
  13.     End If
  14. End Function
  15.  
  16. 'Trunca un número dado
  17. Public Function Truncar(ByVal num As Double, ByVal dig As Integer) As String
  18.     Truncar = Int(num) & "." & Left(Decimales(num), dig)
  19. End Function
  20.  
  21.  

Y para usar la función puedes usarla de la siguiente manera:
Código: Text
  1.  
  2. msgbox truncar(25.4457,2)
  3.  
  4.  

Mucho ojo, el separador de decimales que usamos en México es " . " por lo cual mi función trabaja para ello.