Alle variabelen die we tot nu toe gebruikten, hadden betrekking op gehele getallen. Uiteraard is het mogelijk om in COBOL te rekenen met getallen die cijfers 'achter de komma' hebben. De woorden achter de komma staan in de vorige zin tussen aanhalingstekens, omdat COBOL uitgaat van de punt als decimaalteken. Voor het gemak blijven we toch maar spreken over 'achter de komma'.
In COBOL kunnen we per variabele vastleggen hoeveel decimalen de computer moet gebruiken. We doen dat door de tekens vóór en de tekens na de 'komma' van elkaar te scheiden. Dat gebeurt met de letter V in de tekenreeks van de picture-clausule. Voorbeeld:
01 temperatuur picture 9999V99.
Het veld temperatuur is hiermee beschreven als een veld van zes posities. Bij het uitvoeren van berekeningen weet de computer dat er vier cijfers vóór en twee cijfers na de komma zijn.
de v van virtueel
De letter V is een aanduiding voor de compiler en geeft de scheiding aan tussen de cijfers 'voor de komma' en de cijfers 'na de komma'. Bij het vertalen van de instructies houdt de compiler rekening met de gegeven indeling. De decimaalaanduiding is virtueel (slechts schijnbaar bestaand).
Het is beslist niet zo dat er echt een punt of een komma in het getal staat. We kunnen dit aantonen met de volgende instructies.
compute temperatuur = 12.5 display temperatuur compute temperatuur = temperatuur - 2.75 display temperatuur
Eerst krijgt temperatuur de waarde 12.5. Daarna plaatsen we de waarde van de variabele op het scherm. Daarna trekken we 2.75 van de temperatuur af en ook de nieuwe waarde zetten we op het scherm. Als resultaat van deze opdrachten verschijnt op het scherm:
001250 000975
De computer bewaart in zijn interne geheugen alleen de cijfers. Bij het rekenen maakt hij onderscheid tussen de cijfers vóór en de cijfers na de komma.
Met de letter V geven we de plaats van het decimaalteken aan. Het probleem van het rekenen met gebroken getallen is hiermee opgelost. In paragraaf 3.5 zullen we zien hoe we voor een punt in de uitvoer van een getal zorgen.