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参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
Num | Variant | 要取整的数值 |
Dot | Long | 保留小数位数(默认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) ' 输出: -3GetRandRange
获取指定范围内的随机整数(包含边界)。
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参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
Value | Variant | 要取整的数值 |
DecimalPlaces | Integer | 保留小数位数(默认0,范围-4~4) |
RoundingMode | EnumRoundingMode | 取整模式 |
示例:
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