VBA очень длинное целое

Мне нужно найти способ поместить 19-значное целое число (масштаб 9 × 10^18) в документ Word. Проблема в том, что он должен работать на 32-битной машине, чтобы тип данных LongLong не работал.

попытался разбить на массив строк, но это не сработает, потому что мне нужно сделать с ним вычисления потом

Как решить эту проблему?

2 ответа

Решение

Если вам просто нужны последние пять цифр и вам нужно, чтобы они были числом, вы можете использовать такой код:

Dim sEan As String
Dim lLastFive As Long

sEan = "90000000000000012345"
lLastFive = CLng(Right$(sEan, 5))

Debug.Print lLastFive, TypeName(lLastFive)

И вы должны получить

 12345        Long

Большое число, как пример, который вы предоставляете, будет соответствовать Double тип:

Sub Test()
Dim num As Double
Dim lon As Long

num = 9 * 10 ^ 18  '## This should work

lon = 9 * 10 ^ 18  '## This will raise an error.

End Sub
Другие вопросы по тегам