ЗАЩИТНО ЧИСЛО

4 отговора 219 прегледа
#1

ЗАЩИТНО ЧИСЛО

Зададено ми е на VBA да напиша код за изчисляване защитното число на новите банкови сметки.
Съгласно методиката на БНБ стигам до :

Dim Uban as String
Dim Ost as Integer

В Uban получавам числото 1010101012311012345678111633

Ost = Clng(Uban) Mod 97 и тук ми дава грешка 6 - препълване.

Къде греша.Какво трябва да направя за да изчисля този остатък.
Благодаря Ви предварително.
Ако пък някой е направил този код ще съм благодарен - [email protected]






Отговор
в отговор на УЧEHИK #2

Re: ЗАЩИТНО ЧИСЛО

Ако отвориш МСДН и погледнеш какво число може да се записва като Long, ще разбереш, че това 20-цифрено число ще предизвика съвсем естествено грешка поради препълване. Ползвай Single или Double

Отговор
в отговор на ActiveX #3

Re: ЗАЩИТНО ЧИСЛО

Май и с Double няма да стане. Ще трябва да се пишат функции за калкулиране през текстови променливи. Това е забавно, щото аз самият бях почнал да пиша прост калкулатор, който да работи с числа дълги по няколко милиона знака. Само че поради липса на време за губене - зарязах проекта.

Хайде да съчиним нещо обикновено, а? 4 функции за стандартните математически операции "събиране", "изваждане", "умножение" и "деление"... Да работят само с текстови параметри, а изчислението да става на порции вътре във функцията. Ще стане.


Щирлиц
Отговор
в отговор на Щиpлиц #4

Your prayers had been answered, little fella

Bow down and praise The Almighty Google ...
[линк]

Отговор
в отговор на УЧEHИK #5

Re: ЗАЩИТНО ЧИСЛО

Даа Определено има препълване, но специално за този алгоритъм има и по-лесен начин. И понеже ме домързя да описвам ти давам линк към код за пресмятане
[линк]
В него ще видиш и алгоритъма за защита от препълване

Успех
P.S.
Не че не би могъл да пробваш и ти в google с VB i IBAN


Отговор