Vba VB-除整数不';不包括逗号吗?

Vba VB-除整数不';不包括逗号吗?,vba,excel,integer,divide,Vba,Excel,Integer,Divide,这可能很简单,但我有一个Excel vba宏,我试图将两个整数除以,最后得到一个整数,尽管其中应该有一个逗号。 例如278/101=3。实际上是2,75,而不是3。为什么会这样 宏非常简单,如下所示: Dim intFull, intLow , intDivided as Integer intFull = 278 intLow = 101 intDivided = intFull \ intLow 确定你用的是正斜杠而不是反斜杠?(另请参见:)确定使用了正斜杠而不是反斜杠?(另请参见:)您的

这可能很简单,但我有一个Excel vba宏,我试图将两个整数除以,最后得到一个整数,尽管其中应该有一个逗号。 例如278/101=3。实际上是2,75,而不是3。为什么会这样

宏非常简单,如下所示:

Dim intFull, intLow , intDivided as Integer
intFull = 278
intLow = 101
intDivided = intFull \ intLow

确定你用的是正斜杠而不是反斜杠?(另请参见:)

确定使用了正斜杠而不是反斜杠?(另请参见:)

您的结果变量是一个整数

如果您使用双倍取而代之,您将得到2.752 etc-可以使用
dbDivided=Round(lngFull/lngLow,2)对其进行舍入

[更新变量使其更有意义]

Sub redone()
    Dim lngFull As Long
    Dim lngLow As Long
    Dim dbDivided As Double
    lngFull = 278
    lngLow = 101
    dbDivided = Round(lngFull / lngLow, 2)
End Sub

结果变量是一个整数

如果您使用双倍取而代之,您将得到2.752 etc-可以使用
dbDivided=Round(lngFull/lngLow,2)对其进行舍入

[更新变量使其更有意义]

Sub redone()
    Dim lngFull As Long
    Dim lngLow As Long
    Dim dbDivided As Double
    lngFull = 278
    lngLow = 101
    dbDivided = Round(lngFull / lngLow, 2)
End Sub

我们能看到宏吗?:)我们能看到宏吗?:)嗯,我现在已经试过了。当我使用/,我得到的值是3。使用\时,我得到的值为2。请参见上文。主要问题是您的变量类型。次要问题是约阿希姆指出的反斜杠。在我的post+1中修复了这两个问题,即首先发布反斜杠余数丢弃问题。嗯,我现在已经尝试了/and\n。当我使用/,我得到的值是3。使用\时,我得到的值为2。请参见上文。主要问题是您的变量类型。次要问题是约阿希姆指出的反斜杠。这两个问题在我的博文+1中都得到了修正,因为我在反斜杠剩余部分丢弃问题上首先发布了博文。就是这样!谢谢我真的应该猜到这一点。。有些东西告诉我这是非常基本的Visual basic:)Thanx
Dim intFull为整数,intLow为整数,DBL为双精度
工作正常。例如,与Java(其中
int/int
生成
int
结果)不同,
Integer/Integer
并不总是在VBA中生成
Integer
结果-这取决于结果分配给的变量类型。另外,
Dim intFull、intLow、intDivided As Double
为我们提供了两个
Variant
变量和一个
Double
变量。最后,一个名为
int
Double
变量将导致confusion@barrowc. 就命名约定达成一致,并进行了相应的更新,长期以来比Integer更有效。还更新了变体,虽然可行但不整洁,我应该运行我的标准单线标注样式。谢谢你的评论。就这样!谢谢我真的应该猜到这一点。。有些东西告诉我这是非常基本的Visual basic:)Thanx
Dim intFull为整数,intLow为整数,DBL为双精度
工作正常。例如,与Java(其中
int/int
生成
int
结果)不同,
Integer/Integer
并不总是在VBA中生成
Integer
结果-这取决于结果分配给的变量类型。另外,
Dim intFull、intLow、intDivided As Double
为我们提供了两个
Variant
变量和一个
Double
变量。最后,一个名为
int
Double
变量将导致confusion@barrowc. 就命名约定达成一致,并进行了相应的更新,长期以来比Integer更有效。还更新了变体,虽然可行但不整洁,我应该运行我的标准单线标注样式。谢谢你的评论。