Hi Hans,
Your code runs perfectly, thanks. However, if I replace % with  \letterpercent, my code does not run

\ctxlua{print(string.format("\letterpercent g",Binomial(100,60,0.25)))}

Thank you
Fabrice

2018-01-14 13:58 GMT+01:00 Hans Hagen <pragma@wxs.nl>:
On 1/14/2018 1:13 PM, Joseph Canedo wrote:
Hi Fabrice,

string.format behaves more or less as C printf. You probably need to specify %.4g in 1st argument.

Hope this helps

Best

Joseph

*De : *Fabrice Couvreur <mailto:fabrice1.couvreur@gmail.com>
*Envoyé le :*dimanche 14 janvier 2018 13:05
*À : *mailing list for ConTeXt users <mailto:ntg-context@ntg.nl>
*Objet :*[NTG-context] Problem with string.format (Lua)

Hello,
I start with Lua and I try to display my result with 4 decimal places without success.
Thank you
Fabrice

\startluacode
function Binomial(n,k,p)
     if k > n then return nil end
     if k > n/2 then k = n - k end

     numer, denom = 1, 1
     for i = 1, k do
         numer = numer * ( n - i + 1 )
         denom = denom * i
     end
     return (numer/denom) * p^k * (1-p)^(n-k)
end

\stopluacode

\starttext
\ctxlua{print(string.format("%g",Binomial(100,60,0.25)))}
\stoptext

the % should be \letterpercent

btw, use locals for numer and denom

you can also do this:

\startluacode
    function document.Binomial(n,k,p)
        if k > n then
            return nil
        end
        if k > n/2 then
            k = n - k
        end
        local numer, denom = 1, 1
        for i=1,k do
            numer = numer * ( n - i + 1 )
            denom = denom * i
        end
        context("%0.5g",(numer/denom) * p^k * (1-p)^(n-k))
    end
\stopluacode

\starttext
    \ctxlua{document.Binomial(100,60,0.25)}
\stoptext

in general

context("format",....)

is a bit more powerful than using format




--

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________