web-dev-qa-db-ja.com

小数点以下の場所を削除する機能

VBAで同等のJavaScript Math.Floor()とは何ですか?この関数は、小数点以下をすべて削除し、整数のみを返す必要があります。

19
Sami Al-Subhi

私が覚えているのは、Int()関数を使用することです。元

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

等々。

32
Albi Patozi

cInt()は実際に数値を丸めますが、Int()は丸めないことに注意してください。

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

Round()です

_Sub Sample()
    Dim dval As Double
    dval = 1.12345

    Debug.Print Round(dval, 0)
End Sub
_

上記の_0_は、必要な小数の数を指定します。

編集:

アルビ・パトジは正しい。 Math.Floor()equivalentint()です。私はあなたが小数なしで数字を返したいだけだという印象を受けていました。しかし、私は見上げました 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

4
Siddharth Rout

VBAからExcelワークシート関数の1つを呼び出すこともできます。

- Application.WorksheetFunction.Floor_Math

- Application.WorksheetFunction.Floor

2
ashleedawg