Я использую большие числа (18 цифр), поэтому я сохраняю их в длинные переменные.
Я обнаружил некоторые ошибки в своих вычислениях, поэтому я создал простую тестовую программу.
Расчет не работает как следует с большими числами ...
Точнее, это связано с картой, которую я использую для хранения.
Есть предложения?
'Activity module
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim b1,b2,b3 As Button
Dim MapData As Map
End Sub
Sub Activity_Create(FirstTime As Boolean)
b1.Initialize("Set100")
b1.Text="Set100"
Activity.AddView(b1,10%x,10%y,80%x,20%y)
b2.Initialize("SetBig")
b2.Text="SetBig"
Activity.AddView(b2,10%x,40%y,80%x,20%y)
b3.Initialize("Increase")
b3.Text="long++"
Activity.AddView(b3,10%x,70%y,80%x,20%y)
MapData.Initialize
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Set100_Click
Dim l As Long
l = 100
Log("set to: " & l)
MapData.Put("Token",l)
End Sub
Sub SetBig_Click
' long range: -9223372036854775808 to 9223372036854775807
Dim l As Long
l = 640345893847300380
Log("set to: " & l)
MapData.Put("Token",l)
End Sub
Sub Increase_Click
Dim l As Long
l = MapData.Get("Token")
Log("from map: " & l)
l = l + 1
Log("new val : " & l)
MapData.Put("Token",l)
End Sub