转换和舍入大小数值

时间:2015-08-05 01:30:11

标签: vba integer decimal rounding long-integer

我有一个表格,用户输入销售价格,vba根据固定百分比计算佣金,然后计算广告费用(再次是百分比)。广告费从佣金中扣除,以达到净佣金。我写了以下代码:

Dim sales, comm, conj As Long

comm = 0

conj = 0

sales = 0

sales = [Forms]![Frmaddnewsales]![txtsales]

comm = sales * .019 

conj = comm * .09 

Exit Sub

例如,我输入销售价格为$ 650000028,它计算佣金= 12350000.532然后计算conj = 1111500。 我需要comm和conj变量来只存储舍入值(没有小数)。我的问题是因为我的变量被声明为Long为什么它存储小数。为什么comm以十进制显示而而conj变量只显示圆形数字。

1 个答案:

答案 0 :(得分:3)

欢迎来到VB的一个语法怪癖。这一行:

Dim sales, comm, conj As Long

仅表示conjLong。前两个是Variant类型。你可以试试这个:

Dim sales as Long, comm as Long, conj as Long