Een literal van het type getal is een reeks tekens, meestal cijfers, die bestaat uit één of meer van de volgende lettertekens: geheel getal, decimaalteken, breukdeel, indicator voor een exponent ('e' of 'E') en een optionele exponentwaarde. Hieronder volgen voorbeelden van literals van het type getal:
-12
1.5362
0.875
5.56e-2
1.234E10
Het is mogelijk om een geheel getal of een breukdeel van een literal van het type getal weg te laten, maar niet beide. Verder kunt u binnen het breuksegment de decimale punt of de exponentwaarde weglaten, maar niet beide.
Alle literals van het type getal worden intern geconverteerd naar 64-bits binaire IEEE-waarden (Institute of Electrical and Electronics Engineers). IEEE-waarden kunnen slechts bestaan uit een beperkte hoeveelheid cijfers, waardoor bepaalde waarden niet als een binaire breuk kunnen worden uitgedrukt. Dit is vergelijkbaar met het feit dat bepaalde waarden, zoals 1/3, niet exact kunnen worden uitgedrukt als een decimale breuk (de decimale waarde zou een oneindig aantal decimale posities moeten hebben om geheel nauwkeurig te zijn).
De waarden die niet als een binaire breuk kunnen worden uitgedrukt, zijn in het algemeen literals van het type getal met meer dan 16 significante cijfers voorafgaand aan hun exponent. FormCalc rondt deze waarden af tot de dichtstbijzijnde reële 64-bits IEEE-waarde volgens de IEEE-norm. De waarde:
123456789.012345678
afgerond op de (dichtstbijzijnde) waarde:
123456789.01234567
In een tweede voorbeeld echter, wordt deze literal van het type getal:
99999999999999999
afgerond op de (dichtstbijzijnde) waarde:
100000000000000000
Dit gedrag kan soms leiden tot verrassende resultaten. FormCalc levert een functie, Round, die een bepaald getal retourneert dat wordt afgerond tot een bepaald aantal cijfers achter de komma. Wanneer het bepaalde getal zich exact halverwege tussen twee reële getallen bevindt, wordt het niet op nul afgerond. Het getal wordt naar boven afgerond als het positief is en naar beneden als het negatief is. In het volgende voorbeeld:
Round(0.124, 2)
retourneert 0.12
and
Round(.125, 2)
retourneert 0.13.
Op grond hiervan kan het volgende worden verwacht:
Round(0.045, 2)
retourneert 0.05.
In de IEEE-norm 754 wordt echter aangegeven dat de literal van het type getal 0,045 moet worden benaderd tot 0,0449999999999999. Deze benadering komt dichter bij 0.04 dan bij 0.05. Op grond daarvan wordt met
Round(0.045, 2)
de waarde 0.04 geretourneerd.
Dit komt ook overeen met de IEEE-norm 754.
64-bits IEEE-waarden ondersteunen afbeeldingen als NaN (geen getal), +Inf (positief oneindig) en -Inf (negatief oneindig). FormCalc ondersteunt deze niet en expressies die evalueren naar NaN, +Inf of -Inf hebben een foutuitzondering tot gevolg, die wordt overgedragen naar de rest van de expressie.