Numeros despues del punto decimal

Mi pregunta es acerca de como puedo hacer para que un numero ejem:(1250.1165), se lo asigne a una variable pero con solamente dos cifras después del punto decimal sin redondear el numero. Lo que pasa es que ya le intente y con todo me redondea el numero que te puse como ejemplo(1250.12), y es así como me lo deja, mi variable a la que se lo asigno la declare de tipo Currency.
A lo que voy es que quiero que mi numero sea: (1250.11).

2 Respuestas

Respuesta
1
Te paso una función para hacer eso.
Pega este código:
Function NoRedondear(Numero As String) As String
Dim Punto As Boolean
Dim Pasos As Single
For asd = 1 To Len(Numero)
If Punto = True Then Pasos = Pasos + 1
If Mid(Numero, asd, 1) = "." Then Punto = True
Next
If Pasos > 2 Then NoRedondear = Left(Numero, Len(Numero) - (Pasos - 2))
End Function
ahora lo usas asi:
numero= "1250.1165"
numero = val(NoRedondear(str(numero)))
Fíjate que le entregas un String con tu numero (1250.1165) y te devuelve un Strig con el resultado (1250.11), no importa la cantidad de decimales que le entregues, siempre te da solo los primeros 2 sin redondear.
Cualquier duda estoy a tu disposición.
Respuesta
1
Lo único que se me ocurre es armar una rutina para que chequee numero por nuumero hasta dos posiciones después del punto
a ver...
En usuarios modulo (. VAS) escribe esto
Public Function Rutina(xVar as string)
dim valorFinal
dim vCantidad
vCantidad=0
For x = 1 to len(xVar)
xx = MID(xVar,x,1)
if xx <> "." then
ValorFinal=ValorFinal & xx
else
ValorFinal=ValorFinal & xx
cVantidad=vCantidad+1
If vCantidad=3 then exit sub
end if
end Function
Luego cuando necesites modifcar el dato:
Private Sub Command1_Click()
variable=Val(Rutina(str(1250.1165)))
Lo unció que me parece que puede estar mal es el "3" de la rutina (vCantidad) si no va así, prueba con 2.
De cualquier manera, no estoy seguro que funcione bien ya que no tengo instalado el VB ahora y lo hice de memoria... pruébalo y me comentas, entonces instalo el VB y verifico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas