12.1 Nulonderdrukking met sterretjes

Een sterretje (Engels: asterisk) in de picture-string geeft aan dat een voorloopnul (Engels: leading zero) op die plaats moet worden vervangen door een sterretje. De belangrijkste toepassing hiervan is het tegengaan van fraude. Op een cheque met een bedrag van 200 euro staat ****200.00. Daardoor wordt het moeilijker om het bedrag te wijzigen. Zonder die sterretjes zijn er mensen die bij voorbeeld een eentje voor de twee tekenen om daarmee een groter bedrag in de wacht te slepen.

illustratie: Geert Nijmolen

stadion; score aangeduid met sterretjes

We kunnen kiezen voor nulonderdrukking met de Z of met het sterretje. Die twee mogelijkheden sluiten elkaar uit. Een combinatie van Z's en sterretjes is niet toegestaan.

Bij nulonderdrukking geldt dat op de posities na de decimaalaanduiding geen mengvorm van * en 9 of van Z en 9 mag voorkomen. Alles na de decimaalaanduiding moet in zijn geheel niet onderdrukt worden of in zijn geheel wèl.

Nulonderdrukking met sterretjes lijkt in bijna alle opzichten op nulonderdrukking met Z's. Als we nul brengen naar een veld met alleen maar onderdrukkingstekens treedt er echter een klein verschil op. Bij nulonderdrukking met Z's worden alle posities spatie. Bij nulonderdrukking met sterretjes worden alle tekens een sterretje, behalve de punt. Die blijft een punt.

Alle bovenstaande regels zijn te herkennen in het onderstaande staatje. Een constante brengen we over naar een veld waarvan de picture-string in de tweede kolom staat. De derde kolom bevat het resultaat. Bij alle voorbeelden gaan we ervan uit dat in het programma decimal-point is comma niet voorkomt.


constante      picture-string      resultaat

123            *****               **123
123.45         *****.**            **123.45
0.45           *****.**            *****.45
0.05           *****.**            *****.05
-123.45        -****.**            -*123.45
.45            ****9.99            ****0.45
123            *****.00            **123.00
12.34          **,***.**           ****12.34
0              **,***.**           ******.**
  
omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 2

Auteur: Andree Hollander

naamlogo