¿Cuál es el equivalente de javaScript Math.Floor()
en VBA ?. esta función debería eliminar todos los lugares decimales y devolver solo un entero.Una función para eliminar los lugares decimales
Respuesta
De lo que recuerdo, use 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
anterior especifica el número de decimales que desee.
EDIT:
Albi Patozi es correcto. 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 entonces miré hacia arriba http://www.w3schools.com/jsref/jsref_floor.asp
El método de piso() redondea un número hacia abajo hasta el número entero más próximo, 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
ROUND() ~~ INT()
1 ~~ 0
0 ~~ 0
5 ~ ~ 5
5 ~~ 5
-5 -6 ~~
-6 -6 ~~
muchas gracias por la respuesta informativa –
tener cuidado de que CInt() redondea el número en realidad, pero Int() no lo hace .
CInt(1.6) ~~ 2
Int(1.6) ~~ 1
- 1. Lugares decimales en porcentaje CSS
- 2. ¿Cómo formatear una columna DBGrid para mostrar dos lugares decimales?
- 3. Dos lugares decimales usando C#
- 4. Redondeo a 2 lugares decimales
- 5. Problema de lugares decimales con SQLite
- 6. Lugares decimales truncados (no redondos) en sprintf?
- 7. Lugares decimales truncados (no redondos) en SQL Server
- 8. Establecer el número predeterminado de lugares decimales para la impresión
- 9. ¿Se respetan los lugares decimales en un ancho de CSS?
- 10. Obtener los últimos dos lugares decimales sin redondeo
- 11. Truncar Dos lugares decimales sin redondeo
- 12. Double.ToString con N Número de lugares decimales
- 13. ¿Cómo puedo formatear números para tener solo dos lugares decimales?
- 14. flotante de análisis con dos lugares decimales
- 15. Doctrine 2 - 2 lugares decimales en una carroza?
- 16. ¿Cómo formatear el valor doble para una configuración regional determinada y la cantidad de lugares decimales?
- 17. Regex mayor que cero con 2 lugares decimales
- 18. ¿Cómo especificar lugares decimales al formatear objetos NSNumber?
- 19. printf, sprintf imprime al menos dos lugares decimales
- 20. Tratando de formato de número de lugares decimales 2 jQuery
- 21. ¿Cómo redondeo un decimal a 2 lugares decimales en .Net?
- 22. JavaScript que muestra un flotante a 2 lugares decimales
- 23. Comportamiento extraño de Java: ¿Cómo es que al agregar dobles con EXACTAMENTE dos lugares decimales resulta en un doble con MÁS DE dos lugares decimales?
- 24. ¿Es esta una comparación flotante válida que representa un número determinado de lugares decimales?
- 25. Java BigDecimal eliminar números decimales y finales
- 26. C# Compruebe si un decimal tiene más de 3 lugares decimales?
- 27. baratos lugares para MSDN Licencias
- 28. ¿Cómo verificar si un doble tiene como máximo n lugares decimales?
- 29. ¿Cómo 'cout' el número correcto de lugares decimales de un valor doble?
- 30. Valores decimales en SQL para dividir los resultados
+ 1 :) Sí, el equivalente de Math.floor() es de tipo int() –
Tenga en cuenta que Int (-5,8) dará -6, que quizás no sea el esperado. –
Estoy usando esto para probar si un doble es un entero es 'si x = int (x) luego 'entero si if' ¿Hay una mejor manera, sin tener que lanzar un error? – OfficialBenWhite