Тема: VBS: Перевод из 36 в 10 систему счисления
Добрый день.
Set lDict = CreateObject("Scripting.Dictionary")
lDict.Add "0", 0
lDict.Add "1", 1
lDict.Add "2", 2
lDict.Add "3", 3
lDict.Add "4", 4
lDict.Add "5", 5
lDict.Add "6", 6
lDict.Add "7", 7
lDict.Add "8", 8
lDict.Add "9", 9
lDict.Add "A", 10
lDict.Add "B", 11
lDict.Add "C", 12
lDict.Add "D", 13
lDict.Add "E", 14
lDict.Add "F", 15
lDict.Add "G", 16
lDict.Add "H", 17
lDict.Add "I", 18
lDict.Add "J", 19
lDict.Add "K", 20
lDict.Add "L", 21
lDict.Add "M", 22
lDict.Add "N", 23
lDict.Add "O", 24
lDict.Add "P", 25
lDict.Add "Q", 26
lDict.Add "R", 27
lDict.Add "S", 28
lDict.Add "T", 29
lDict.Add "U", 30
lDict.Add "V", 31
lDict.Add "W", 32
lDict.Add "X", 33
lDict.Add "Y", 34
lDict.Add "Z", 35
a = "000003PNKXIIEVSB"
Re = 0
For i = 0 To Len(a) - 1
CurL = Mid(a, i + 1, 1)
Re = Re + lDict.Item(CurL)*(36^(Len(a) - i))
Next
msgbox Re
С алгоритмом перевода проблем нет, проблема с получением результата, например такого
4,88664000042785E+17
Собственно вопрос, как получить число полностью, без E+?
Пробовал FormatNumber, но там в конце нули, т.е. заведомо неправильный результат.
Заранее спасибо.
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней… (Ф. Тютчев) Тут хорошая справка по vbs.