\ Versie-1 als in opgave, versie-2 met afronding laatste cijfer
\ Het is een Forth variant van een staart deling

: .Q    ( t n #dig -- )             \ Zonder afronding
    >r  tuck /mod 1 .r  ch . emit   \ Getal voor de comma
    r> for  dm 10 *  over /mod 1 .r \ Getallen na de comma
    next  space  2drop ;


: .QR   ( t n #dig -- )             \ Met afronding
    1 umax  >r                      \ Minimaal 1 cijfer achter de comma
    tuck /mod 1 .r  ch . emit       \ Getal voor de comma
    r> 1- for                       \ Getallen na de comma
        dm 10 *  over /mod 1 .r
    next
    dm 10 * over /mod >r            \ Rond laatste cijfer af
    dm 10 * swap /mod 4 > 1 and
    r> + .  drop ;


: .QS   ( t n #dig -- )             \ Met sign
    >r 2dup or 0< if ch - emit then \ Print sign
    abs swap  abs swap  r> .q ;     \ Make numbers positive & print


\ Temperatuur conversie met breuken
: C>F   ( tc nc -- tf nf )  5 * >r  9 *  dm 32 r@ *  +  r> ;
: F>C   ( tf nf -- tc nc )  >r  dm 32 r@ * -  5 *  r> 9 * ;

\ 21 1 c>f   3 .q
\ 21 9 c>f   5 .q
\ 707 10 f>c 6 .q
\ 355 113   32 .qr
\ -1250 100  6 .qs

decimal

\ End
