VB - 整数除法不包含逗号?

发布于 2024-12-12 09:23:02 字数 260 浏览 2 评论 0原文

这可能是一个简单的问题,但我有一个 Excel vba 宏,我试图将两个整数相除,最终得到一个整数,即使其中应该有一个逗号。 例如 278 / 101 = 3。虽然它实际上是 2,75 而不是 3。这是为什么?

宏非常简单,如下所示:

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

This is probably an easy one, but I've got this Excel vba macro where I'm trying to divide two integers and I end up with a round number, even though there should be a comma in there.
For example 278 / 101 = 3. While it's really 2,75 and not 3. Why is this?

The macro is really simple, like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只等公子 2024-12-19 09:23:02

你的结果变量是一个整数

如果你使用双精度,你将得到2.752等 - 可以使用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

Your result variables is an integer

If you work with doubles instead you will get 2.752 etc - which can be rounded using dbDivided = Round(lngFull / lngLow, 2)

[variables updated to be more meaningful]

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
我恋#小黄人 2024-12-19 09:23:02

您确定使用了正斜杠而不是反斜杠吗? (另请参阅:http://zo-d .com/blog/archives/programming/vba-integer-division-and-mod.html

Sure you used a forward slash and not a backslash? (See also: http://zo-d.com/blog/archives/programming/vba-integer-division-and-mod.html)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文