Skip to content

Tools - 数学工具类

cToolsMath - 数学计算工具

概述

提供取整、随机数、四舍五入等数学运算功能。

枚举

EnumRoundingMode

vb
Public Enum EnumRoundingMode
    Rounding = 0   ' 四舍五入
    Upper = 1      ' 向上取整
    Downer = 2     ' 向下取整
End Enum

方法

Ceil

向上取整(截断取整)。

vb
Public Function Ceil( _
    ByVal Num As Variant, _
    Optional ByVal Dot As Long _
) As Currency

参数:

参数名类型说明
NumVariant要取整的数值
DotLong保留小数位数(默认0)

示例:

vb
Debug.Print VBMAN.ToolsMath.Ceil(3.14)      ' 输出: 4
Debug.Print VBMAN.ToolsMath.Ceil(3.14, 1)   ' 输出: 3.2
Debug.Print VBMAN.ToolsMath.Ceil(-3.14)     ' 输出: -3

GetRandRange

获取指定范围内的随机整数(包含边界)。

vb
Public Function GetRandRange(a As Long, b As Long) As Long

示例:

vb
' 随机 1-100 之间的整数
Dim Rand As Long
Rand = VBMAN.ToolsMath.GetRandRange(1, 100)
Debug.Print Rand

' 随机布尔值
Dim IsTrue As Boolean
IsTrue = (VBMAN.ToolsMath.GetRandRange(0, 1) = 1)

RoundCurrency

四舍五入(支持多种取整模式)。

vb
Public Function RoundCurrency( _
    ByVal Value As Variant, _
    Optional ByVal DecimalPlaces As Integer = 0, _
    Optional ByVal RoundingMode As EnumRoundingMode = 0 _
) As Currency

参数:

参数名类型说明
ValueVariant要取整的数值
DecimalPlacesInteger保留小数位数(默认0,范围-4~4)
RoundingModeEnumRoundingMode取整模式

示例:

vb
' 四舍五入
Debug.Print VBMAN.ToolsMath.RoundCurrency(3.14159, 2)       ' 3.14
Debug.Print VBMAN.ToolsMath.RoundCurrency(3.14159, 2, Rounding)  ' 3.14

' 向上取整
Debug.Print VBMAN.ToolsMath.RoundCurrency(3.14159, 2, Upper)     ' 3.15

' 向下取整
Debug.Print VBMAN.ToolsMath.RoundCurrency(3.14159, 2, Downer)    ' 3.14

' 负小数位(十位取整)
Debug.Print VBMAN.ToolsMath.RoundCurrency(1234, -2, Rounding)    ' 1200

完整示例

vb
Private Sub MathDemo()
    Dim Price As Currency
    Price = 123.456
    
    ' 商品价格四舍五入到分
    Debug.Print "标准价格: " & VBMAN.ToolsMath.RoundCurrency(Price, 2)
    
    ' 优惠价格向上取整(不亏本)
    Debug.Print "优惠价格: " & VBMAN.ToolsMath.RoundCurrency(Price * 0.95, 2, Upper)
    
    ' 生成随机验证码
    Dim Code As String
    Code = Format(VBMAN.ToolsMath.GetRandRange(1000, 9999), "0000")
    Debug.Print "验证码: " & Code
End Sub

VB6及其LOGO版权为微软公司所有