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