首页 > 解决方案 > 如何拆分字符串以将每个单个数字乘以 ms access 2007 中的值

问题描述

我需要单独拆分一串 20 位数字并将每个数字乘以一个值。

String (this string is in a text box) example: 11604999123400002586

拆分后,我必须执行以下操作:

51 x 1º digit +
73 x 2º digit +
17 x 3º digit +
89 x 4º digit +
38 x 5º digit +
62 x 6º digit +
45 x 7º digit +
53 x 8º digit +
15 x 9º digit +
50 x 10º digit +
5 x 11º digit +
49 x 12º digit +
34 x 13º digit +
81 x 14º digit +
76 x 15º digit +
27 x 16º digit +
90 x 17º digit +
9 x 18º digit +
30 x 19º digit +
3 x 20º digit

在这个例子中:

Result = 51x1 + 73x1 + 17x6 + 89x0 + 38x4 + 62x9 +
45x9 + 53x9 + 15x1 + 50x2 + 5x3 + 49x4 + 34x0 + 81x0 + 76x0 + 27x0 + 90x2
+ 9x5 + 30x8 + 3x6 = 2627

最好的方法是什么?

标签: vbams-access

解决方案


在 VBA 中,您可以执行以下操作:

Dim a(20) as Integer
a(1) = 51
a(2) = 73
…
a(20) = 3

Dim Result AS Long: Result = 0
For i = 1 to 20
    Result = Result + CInt(Mid(MyString,i,1)) * a(i)
  Next i

推荐阅读