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 <pra...@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.couvr...@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/list > info/ntg-context > webpage : http://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > ____________________________________________________________ > _______________________
___________________________________________________________________________________ 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 ___________________________________________________________________________________