15

テキストボックスに表示するには、double値の小数点以下の桁数を切り捨てる必要があります。vbaでこれをどのように達成しますか?

4

6 に答える 6

13

VBAROUNDで forを使用できますFORMAT

たとえば、小数点以下 2 桁を表示するには

Dval = 1.56789

Debug.Print Round(dVal,2)

Debug.Print Format(dVal,"0.00")

:上記はあなたに与えるでしょう1.57。したがって、探している場合は1.56、Dval を文字列に格納してからこれを行うことができます

Dim strVal As String

dVal = 1.56789
strVal = dVal

If InStr(1, strVal, ".") Then
    Debug.Print Split(strVal, ".")(0) & "." & Left(Split(strVal, ".")(1), 2)
Else
    Debug.Print dVal
End If
于 2012-07-05T15:37:56.317 に答える
9

Int() 関数を使用できます。Debug.print Int(1.99543)

またはそれ以上:

Public Function Trunc(ByVal value As Double, ByVal num As Integer) As Double
  Trunc = Int(value * (10 ^ num)) / (10 ^ num)
End Function

Trunc(1.99543, 4)したがって、 ==>を使用できますresult: 1.9954

于 2015-03-23T17:17:58.820 に答える