visual truncar solo round redondear poner now mostrar función funcion entero decimales vba math math-functions

truncar - redondear vba



Función para quitar los lugares decimales (4)

¿Cuál es el Math.Floor() JavaScript Math.Floor() en VBA? esta función debe eliminar todos los lugares decimales y devolver solo un número entero.


De lo que recuerdo usar la función Int (). ex int (2,99) = 2; int (2.1) = 2 y así sucesivamente. google para más información!


Es Round()

Sub Sample() Dim dval As Double dval = 1.12345 Debug.Print Round(dval, 0) End Sub

0 arriba especifica el número de decimales que deseas.

EDITAR:

Albi Patozi tiene razón. El equivalent de Math.Floor() es int() . Tenía la impresión de que solo querías devolver un número sin los decimales. Pero luego busqué en http://www.w3schools.com/jsref/jsref_floor.asp

El método floor () redondea un número HACIA ABAJO al entero más cercano y devuelve el resultado.

''~~> JavaScript floor() Method ''var a=Math.floor(0.60); ~~> 0 ''var b=Math.floor(0.40); ~~> 0 ''var c=Math.floor(5); ~~> 5 ''var d=Math.floor(5.1); ~~> 5 ''var e=Math.floor(-5.1); ~~> -6 ''var f=Math.floor(-5.9); ~~> -6 Sub Sample() Dim dval(5) As Double, i As Long dval(0) = 0.6: dval(1) = 0.4: dval(2) = 5 dval(3) = 5.1: dval(4) = -5.1: dval(5) = -5.9 For i = LBound(dval) To UBound(dval) Debug.Print Round(dval(i), 0); " ~~ "; Int(dval(i)) Next End Sub

RESULTADO

RONDA () ~~ INT ()

1 ~~ 0

0 ~~ 0

5 ~~ 5

5 ~~ 5

-5 ~~ -6

-6 ~~ -6



tenga cuidado de que CInt () redondee realmente el número, pero Int () no lo haga.

CInt(1.6) ~~ 2 Int(1.6) ~~ 1