我有以下代码
Dim W As New WordC ' being WordC the name of my clase
W.Revenue=101545
我想将其格式化为货币,但我希望它在类模块中完成。我怎么能用属性做到这一点?
我想在类模块中的某个地方使用类似代码
If Revenue > 1000000 Then
Revenue = Format(Revenue / 1000000, "Currency") & "M"
Else
Revenue = Format(Revenue / 1000, "Currency") & "k"
End If
只有在课程模块
中才需要格式化的收入答案 0 :(得分:0)
您可以使用Property Let
和Property Get
来执行此操作:
Clas代码1:这会将revenue
保留为整数,并且仅在您使用W.RevenueAsString
获取时将其格式化。
Dim revenue As Integer
Property Get RevenueAsString() As String
If revenue > 1000000 Then
RevenueAsString = Format(revenue / 1000000, "Currency") & "M"
Else
RevenueAsString = Format(revenue / 1000, "Currency") & "k"
End If
Return
End Property
或者您可以将其设置为字符串:
Private RevenueInternal As String
Property Get Revenue() As String
Revenue = RevenueInternal
Return
End Property
Property Let Revenue(value As Integer)
If value > 1000000 Then
RevenueInternal = Format(value / 1000000, "Currency") & "M"
Else
RevenueInternal = Format(value / 1000, "Currency") & "k"
End If
End Property
我更喜欢第一个选项,因为您仍然将原始值存储为revenue
变量中的整数。然后,您可以使用W.revenue
或使用W.RevenueAsString
格式化值来处理实际值。