Binary Coded Decimal waarden gebruiken een binair patroon om de cijfers nul tot negen vertegenwoordigen . Als Visual Basic maakt geen gebruik van de BCD data type, heeft het niet over een ingebouwde functie die BCD waarden geconverteerd naar decimale waarden . Echter , kunt u uw eigen functie die ingang opgemaakt als een BCD waarde zal accepteren en breek het in vier - bit hapjes , of brokken te programmeren , en vervolgens converteren die hapjes op een decimaal getal . Instructies Type 1 " Overheidsfunctie BCD_to_int ( ByVal ingang als lang) " om uw functie te openen . Gebruik een kleiner numerieke data type in plaats van Long om ruimte te besparen als je weet dat je programma zal niet werken met grote aantallen . Type " Dim temp As Integer " 2 en " Dim decimaal_getal als Integer " te verklaren twee gehele getallen in je functie . Type " Dim strNum als String = " " " om een string te verklaren en het met geen tekst . Type 3 " Terwijl Niet num = 0 " om een While-lus te openen dat zal herhalen totdat het nummer van de functie ontvangt nul . Type " Voor i = 0 To 3 " op de volgende regel een geteld lus beginnen . Type 4 " temp = num Mod 10 " en " num /= 10 " op de volgende regel . De eerste regel wordt het meest rechtse cijfer van het BCD getal te isoleren en op te slaan in uw variabele " temp " . De volgende regel wordt het decimale van het BCD getal naar links verschuiven . Type 5 " Als temp = 1 Dan " tot een voorwaardelijke controle die bepaalt of je programma nodig heeft om toe te voegen aan de waarde van de te openen uw decimaal getal . Omdat je alleen hoeft te voegen wanneer " temp " is gelijk aan een , omvatten niet een " else if " -clausule voor temp gelijk aan nul 6 Typ de volgende code in je " Als " statement : . Als temp = 1 dan Als i = 0 decimaal_getal = 1 ElseIf i 1 dan decimaal_getal + = 2 dan + = ElseIf i = 2 dan decimaal_getal + = 4 ElseIf i = 3 dan decimaal_getal + = 8 End of als End Als Deze omstandigheden de juiste decimale waarde toe te voegen aan uw totale op basis van welke van de vier bits in elke nibble het controleert . De variabele " decimaal_getal " zal de decimale waarde van de vier - bit knabbelen houden . Type 7 " Next i" op de volgende regel te vertellen uw lus "voor" om naar het volgende cijfer in het knabbelen . Wanneer je het programma al vier bits heeft gecontroleerd , zal het de volgende cijfers van uw decimale hebben berekend . Type " strNum = decimaal_getal & strNum " om deze waarde toevoegen aan de linker kant van je string. Type " decimaal_getal = 0 " om deze variabele te resetten voor de volgende iteratie van je while lus . 8 Type " End While ' om uw While-lus te sluiten . Type " decimaal_getal = strNum " te dwingen Visual Basic om de string te houden van uw decimale waarde in een Integer converteren en opslaan in de variabele " decimaal_getal " . U kunt dan manipuleren deze variabele als dat nodig is. Typ " Return decimaal_getal " om de decimale waarde terug te sturen naar waar uw programma met de naam van uw functie . Type " End Function " om de functie te sluiten .
|