VBAで同等のJavaScript Math.Floor()
とは何ですか?この関数は、小数点以下をすべて削除し、整数のみを返す必要があります。
私が覚えているのは、Int()関数を使用することです。元
int(2.99) = 2 ; int(2.1)=2
等々。
cInt()は実際に数値を丸めますが、Int()は丸めないことに注意してください。
CInt(1.6) ~~ 2
Int(1.6) ~~ 1
Round()
です
_Sub Sample()
Dim dval As Double
dval = 1.12345
Debug.Print Round(dval, 0)
End Sub
_
上記の_0
_は、必要な小数の数を指定します。
編集:
アルビ・パトジは正しい。 Math.Floor()
のequivalent
はint()
です。私はあなたが小数なしで数字を返したいだけだという印象を受けていました。しかし、私は見上げました http://www.w3schools.com/jsref/jsref_floor.asp
Floor()メソッドは、数値をDOWNWARDSに最も近い整数に丸め、結果を返します。
_'~~> 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
_
[〜#〜] result [〜#〜]
ROUND()~~ INT()
1 ~~ 0
0 ~~ 0
5 ~~ 5
5 ~~ 5
-5 ~~ -6
-6 ~~ -6
VBAからExcelワークシート関数の1つを呼び出すこともできます。
Application.WorksheetFunction.Floor_Math
Application.WorksheetFunction.Floor