删除小数位的功能

时间:2012-05-17 08:08:27

标签: vba math math-functions

VBA中的JavaScript Math.Floor()等价物是什么?此函数应删除所有小数位并仅返回整数。

4 个答案:

答案 0 :(得分:31)

我记得使用Int()函数。前

int(2.99) = 2 ; int(2.1)=2

等等。

答案 1 :(得分:4)

这是Round()

Sub Sample()
    Dim dval As Double
    dval = 1.12345

    Debug.Print Round(dval, 0)
End Sub
上面的

0指定了您想要的小数位数。

修改

Albi Patozi是对的。 equivalent的{​​{1}}为Math.Floor()。我的印象是你只想返回一个没有小数的数字。但后来我查了http://www.w3schools.com/jsref/jsref_floor.asp

  
    
      

floor()方法将数字DOWNWARDS舍入到最接近的整数,并返回结果。

    
  
int()

<强> RESULT

ROUND()~~ INT()

1 ~~ 0

0 ~~ 0

5 ~~ 5

5 ~~ 5

-5 ~~ -6

-6 ~~ -6

答案 2 :(得分:2)

您也可以从VBA调用其中一个Excel工作表函数:

- Application.WorksheetFunction.Floor_Math

- Application.WorksheetFunction.Floor

答案 3 :(得分:-1)

VBA提供Int()Fix()

Office VBA Reference

  

诠释,修复函数

     

返回数字的整数部分。

     

语法

     

整数(数字)

     

修正(数字)

     

所需的数字参数为Double或任何有效数字   表达。如果数字包含Null,则返回Null。

     

备注

     

Int和Fix都删除数字的小数部分,然后返回   得到的整数值。

     

Int和Fix之间的区别在于,如果number为负,则Int   返回小于或等于number的第一个负整数,   而Fix返回的第一个负整数大于或等于   编号。例如,Int将-8.4转换为-9,而Fix将-8.4转换为   到-8。

     

修复(数字)等效于:

     

Sgn(数字)* Int(Abs(数字))