VBA很长整数

时间:2014-01-14 16:59:58

标签: vba 32-bit unsigned-long-long-int

我需要找到一种方法在Word文档中放置一个19位整数(比例为9×10 ^ 18)。问题是它需要在32位机器上运行,因此LongLong数据类型将无法工作。

尝试拆分成一个字符串数组,但这不会起作用,因为我之后需要用它进行计算

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果你只需要最后五位数字而你需要这些数字,你可以使用这样的代码:

Dim sEan As String
Dim lLastFive As Long

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

Debug.Print lLastFive, TypeName(lLastFive)

你应该得到

 12345        Long

答案 1 :(得分:0)

您提供的示例中的大量数字将适合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