203a
<< <> >>

203

De programmeertaal Forth
home
Over PICTURE om getallen af te drukken in een bepaald formaat en over HEXA BINA en DECI om even in een ander talstelsen iets af te drukken.

Getallen afdrukken II

3. PICTURE of het afdrukken door een sjabloon

Soms wil je getallen afdrukken in een formaat dat de punt-commando's niet aankunnen. Dat kun je dan altijd zelf programmeren met de woordjes <# # SIGN HOLD #S en #> maar het is handig om een flexibel woord te hebben dat zoiets voor elkaar krijgt. Ik stel voor om dat woord PICTURE te noemen.
PICTURE ( ulo uhi adr1 len1 -- adr2 len2 )
Het verwacht op Stack een dubbelgetal en bovendien adres en lengte van de String die als een sjabloon of mal aangeeft hoe het dubbelgetal in een String omgezet moet wordt.

Een paar voorbeelden. In de eerste kolom staan de sjabloon-strings, in kolom twee en drie het effekt ervan bij toepassing op de dubbelgetallen 1234.5678 en 9.5
sjabloon-string   1234.5678        9.5
---------------   ---------        ---
S" #####"         45678            00095
S" F#.#.#.#"      F5.6.7.8         F0.0.9.5
S" ##/##/##"      34/56/78         00/00/95
S" ? # #"         123456 7 8       0 9 5
S" -#+"           -8+              -5+
S" ##,# km"       67,8 km          09,5 km
S" DM ?.##"       DM 123456.78     DM 0.95
De speciale tekens in de mal zijn het hekje en het vraagteken. Let op: het om te zetten getal wordt opgevat als Unsigned.
>>