Explicita tal består huvudsakligen av siffror. Ett eller flera av följande tecken brukar ingå: ett heltal, ett decimalkomma, decimaler, exponenttecken (”e” eller ”E”) och ett exponentvärde som kan föregås av +/-. Nedan följer exempel på explicit uttryckta tal:
-12
1.5362
0.875
5.56e-2
1.234E10
Det är möjligt att utelämna antingen heltalet eller decimalerna, men inte båda. I decimaldelen kan du dessutom välja att utelämna decimalpunkten eller exponenten, men inte båda.
Alla explicita tal konverteras internt till 64-bitars binära IEEE-värden (Institute of Electrical and Electronics Engineers). IEEE-värden kan dock bara representera en ändlig mängd tal, vilket innebär att vissa värden inte finns representerade som binära decimaltal. På samma sätt finns det vissa värden, t ex 1/3, som inte har en exakt motsvarighet som decimaltal (decimalvärdet skulle behöva ett oändligt antal decimaler för att vara exakt).
Värden som inte har någon binär decimal motsvarighet är normalt explicita tal med fler än 16 signifikanta siffror före exponenten. FormCalc avrundar värdena till närmaste giltiga 64-bitars IEEE-värde. Ta t ex värdet:
123456789.012345678
som avrundas till (närmaste) värdet:
123456789.01234567
Ett annat exempel är följande explicita tal:
99999999999999999
som avrundas till (närmaste) värdet:
100000000000000000
Detta kan ibland ge oväntade resultat. FormCalc tillhandahåller en funktion, Round, som returnerar ett givet tal avrundat till ett givet antal decimaler. När det givna talet ligger exakt mellan två tal avrundas det till allt annat än noll. Talet avrundas uppåt om det är positivt och nedåt om det är negativt. I följande exempel:
Round(0.124, 2)
returnerar 0.12,
och
Round(.125, 2)
värdet 0,13.
Därmed kunde man förvänta sig följande:
Round(0.045, 2)
värdet 0.05.
Enligt IEEE 754-standarden approximeras det explicita talet 0,045 till 0,0449999999999999. Approximationen ligger närmare 0,04 än 0,05. Därför returnerar
Round(0.045, 2)
värdet 0.04.
Detta i enlighet med IEEE 754-standarden.
64-bitars IEEE-värden har stöd för återgivningar som NaN (not a number), +Inf (positive infinity) och -Inf (negative infinity). FormCalc har inte stöd för detta. Uttryck som använder NaN, +Inf eller -Inf genererar ett undantagsfel som skickas vidare till resten av uttrycket.