VB - Делить целые числа не включает запятые? - PullRequest
1 голос
/ 28 октября 2011

Это, вероятно, легко, но у меня есть этот макрос Excel vba, где я пытаюсь разделить два целых числа, и я получаю округленное число, хотя там должна быть запятая.Например, 278/101 = 3. Хотя на самом деле это 2,75, а не 3. Почему это?

Макрос действительно прост, например:

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

Ответы [ 2 ]

5 голосов
/ 28 октября 2011

Ваши переменные результата - целое число

Если вы работаете с , удваивает , вместо этого вы получите 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
2 голосов
/ 28 октября 2011

Конечно, вы использовали косую черту, а не обратную?(См. Также: http://zo -d.com / блог / архивы / программирование / vba-integer-Division-and-mod.html )

...