【发布时间】:2018-04-11 20:57:34
【问题描述】:
以下所有内容都发生在 If 语句中
我有一个变量,差异,它是两个货币值相减的结果。
然后我有另一个变量 Message,如下所示:
If AssessedValue < ProposedValue Then
Difference = Format(ProposedValue - AssessedValue, "Currency")
Message = "Average value is " & Difference & " more than the current
appraised value. Do NOT recommend negotiations."
Else
Difference = Format(AssessedValue - ProposedValue, "Currency")
Message = "Average value is " & Difference & " less than the current
appraised value. Recommend negotiations."
End If
我的问题是在显示的消息中,差异不显示为货币,而只是一个未格式化的数字而不是货币(下面的消息示例) 平均值比当前评估值多21587。不要 建议谈判。
在本例中,如何让 21587 在消息中显示为 $21,587.00?
在此先感谢您对此问题的任何帮助。 柯克
【问题讨论】:
-
能否将差值格式化为带 2 个小数点的数字,并将 $ 添加到消息中的文本中?
-
只用
Format(Difference, "Currency")?或者将Difference更改为String数据类型,而不是数字数据类型? (您发布的代码没有显示它是如何声明的,但我认为它是数字的,否则您不会有问题。) -
您的问题应包括
Difference、AssessedValue和ProposedValue变量的声明(Dim语句),以便回答者不必推测重要的上下文。 -
很抱歉没有包括我的声明,差异是一个长数据类型,因为我的一些差异可能是数百万美元的金额。下面YowE3K回复的方法1解决了我的问题。再次感谢大家的意见!
-
如果
Difference被声明为Long,你需要意识到它永远不会包含美分。如果需要美分,则应将其声明为Currency(如果消息是您使用它的唯一位置,则应声明为String)。
标签: string vba variables format currency