\ C>>F F>>C .Q Albert's challenge 8/2025 uho 2025-10-11 \ see breuken.pdf \ F = 9/5 * C + 32 \ C = (F-32) * 5/9 need .r \ 0 .r allows to print numbers without trailing space need tuck decimal : C>F ( C -- F ) 9 5 */ 32 + ; : F>C ( F -- C ) 32 - 5 9 */ ; \ t/n numerator/denominator : C>>F ( ct cn -- ft fn ) 5 * swap 9 * over 32 * + swap ; { 0 1 c>>f / -> 32 } { 30 1 c>>f / -> 86 } { 1000 10 c>>f / -> 212 } : F>>C ( ft fn -- ct cn ) tuck 32 * - 5 * swap 9 * ; { 86 1 f>>c / -> 30 } { 32 1 f>>c / -> 0 } { 388 2 f>>c / -> 90 } \ Print t/n (the quotient of t and n) as a decimal fraction : .Q ( t n #dec -- ) \ #dec = number of decimal places >r tuck >r s>d r> sm/rem 0 .r [char] . emit \ print signed prefix abs r> 0 ?DO ( t n ) over >r 10 um* ( t d ) r> um/mod 0 .r ( t n ) LOOP \ print out places 2drop ; \ Examples : ( -- ) bl word count ." =?= " type cr ; 21 c>f . 69 22 c>f . 71 21 1 c>>f 3 .q 69,800 22 1 c>>f 4 .q 71.6000 215 10 c>>f 5 .q 70.70000 707 10 f>>c 6 .q 21.500000 355 113 32 .q 3.14159292035398230088495575221238 1000 998 32 .q 1.00200400801603206412825651302605 22 7 4 .q 3.1428 -5 2 4 .q -2.5000 23 1 f>>c 4 .q -5.0000 194 10 f>>c 4 .q -7.0000