On Mar 29, 9:22 am, Frank Buss <f...@[EMAIL PROTECTED]
> wrote:
> REPRESENT looks a bit like I could use it, but it is more complicated. I
> just need a function where I can specify the number of digits after the
> decimal point, e.g. like the C function sprintf(buf, "%.3f", number). I
> need it for FICL, so I could implement it myself in C, but would be nice
to
> use Forth for it. Additional problem: FICL doesn't have REPRESENT.
If FICL is a C-based forth, it should be straightforward to add
REPRESENT. sprintf itself would be the core function, after stripping
out the sign of the significand for the flag.
This is the second time this has come up this month ... what would you
want as the stack comment for a useful simple buffered floating point
output. A pedantic one would be:
>f$ ( addr u1 u2 u3 c flag -- flag=error? )
addr ... address of buffer, with at least u1+u2+4 chars.
u1 ... digits of significand
u2 ... decimal place, counting from ".significand" as 0
u3 ... digits of exponent
c ... exponent indicator character
flag ... display leading sign if positive
I'm thinking that order is right to make wrappers for normal
defaults ... say
: >scientific-f$ ( addr u1 ) 1 3 [CHAR] E FALSE >f$ ;


|