ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Currency - space delimiting thousands
@ 2017-08-27 19:15 Procházka Lukáš Ing.
  2017-08-27 20:00 ` Pablo Rodriguez
  2017-08-28  9:30 ` Hans Hagen
  0 siblings, 2 replies; 6+ messages in thread
From: Procházka Lukáš Ing. @ 2017-08-27 19:15 UTC (permalink / raw)
  To: ConTeXt

Hello,

is there a built-in (Lua-?)numeric format to produce big numbers with spaces delimiting thousands (widely used for currencies)?

E.g.:

----
\cldcontext{string.format("%[separate-thousands].0f", 1234567.0)} % To give: "1 234 567.00"
----

Best regards,

Lukas


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Mob.: +420 702 033 396

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Currency - space delimiting thousands
  2017-08-27 19:15 Currency - space delimiting thousands Procházka Lukáš Ing.
@ 2017-08-27 20:00 ` Pablo Rodriguez
  2017-08-28  9:30 ` Hans Hagen
  1 sibling, 0 replies; 6+ messages in thread
From: Pablo Rodriguez @ 2017-08-27 20:00 UTC (permalink / raw)
  To: ntg-context

On 08/27/2017 09:15 PM, Procházka Lukáš Ing. wrote:
> Hello,
> 
> is there a built-in (Lua-?)numeric format to produce big numbers
> with spaces delimiting thousands (widely used for currencies)?

Hi Lukas,

function comma_value(n) -- credit http://richard.warburton.it
    local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
    return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
end

Copied from http://lua-users.org/wiki/FormattingNumbers.

Just in case it helps,

Pablo
-- 
http://www.ousia.tk
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Currency - space delimiting thousands
  2017-08-27 19:15 Currency - space delimiting thousands Procházka Lukáš Ing.
  2017-08-27 20:00 ` Pablo Rodriguez
@ 2017-08-28  9:30 ` Hans Hagen
  2017-08-29 10:35   ` Procházka Lukáš Ing.
  1 sibling, 1 reply; 6+ messages in thread
From: Hans Hagen @ 2017-08-28  9:30 UTC (permalink / raw)
  To: Procházka Lukáš Ing., mailing list for ConTeXt users

On 8/27/2017 9:15 PM, Procházka Lukáš Ing. wrote:
> Hello,
> 
> is there a built-in (Lua-?)numeric format to produce big numbers with 
> spaces delimiting thousands (widely used for currencies)?
> 
> E.g.:
> 
> ----
> \cldcontext{string.format("%[separate-thousands].0f", 1234567.0)} % To 
> give: "1 234 567.00"
there is some code deep down but it's in a module ... i'll move that to 
the converters namespace

Hans


-----------------------------------------------------------------
                                           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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Currency - space delimiting thousands
  2017-08-28  9:30 ` Hans Hagen
@ 2017-08-29 10:35   ` Procházka Lukáš Ing.
  2017-08-29 11:30     ` Hans Hagen
  0 siblings, 1 reply; 6+ messages in thread
From: Procházka Lukáš Ing. @ 2017-08-29 10:35 UTC (permalink / raw)
  To: ConTeXt

Hello,

thank you, Hans...

On Mon, 28 Aug 2017 11:30:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:

> On 8/27/2017 9:15 PM, Procházka Lukáš Ing. wrote:
>> Hello,
>>
>> is there a built-in (Lua-?)numeric format to produce big numbers with
>> spaces delimiting thousands (widely used for currencies)?
>>
>> E.g.:
>>
>> ----
>> \cldcontext{string.format("%[separate-thousands].0f", 1234567.0)} % To
>> give: "1 234 567.00"
> there is some code deep down but it's in a module ... i'll move that to
> the converters namespace

Could you provide a sample?

Best regards,

Lukas

> Hans


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Mob.: +420 702 033 396

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Currency - space delimiting thousands
  2017-08-29 10:35   ` Procházka Lukáš Ing.
@ 2017-08-29 11:30     ` Hans Hagen
  2017-08-29 11:46       ` Procházka Lukáš Ing.
  0 siblings, 1 reply; 6+ messages in thread
From: Hans Hagen @ 2017-08-29 11:30 UTC (permalink / raw)
  To: ntg-context

On 8/29/2017 12:35 PM, Procházka Lukáš Ing. wrote:
> Hello,
> 
> thank you, Hans...
> 
> On Mon, 28 Aug 2017 11:30:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:
> 
>> On 8/27/2017 9:15 PM, Procházka Lukáš Ing. wrote:
>>> Hello,
>>>
>>> is there a built-in (Lua-?)numeric format to produce big numbers with
>>> spaces delimiting thousands (widely used for currencies)?
>>>
>>> E.g.:
>>>
>>> ----
>>> \cldcontext{string.format("%[separate-thousands].0f", 1234567.0)} % To
>>> give: "1 234 567.00"
>> there is some code deep down but it's in a module ... i'll move that to
>> the converters namespace
> 
> Could you provide a sample?
\starttext

\startluacode

     local t = {
         "1", "12", "123", "1234", "12345", "123456", "1234567", 
"12345678", "123456789",
         "1.1", "12.12", "123.123", "1234.123", "1234.1234", 
"12345.1234", "1234.12345", "12345.12345",
         "123456.123456", "1234567.1234567", "12345678.12345678", 
"123456789.123456789",
         "0.00002", "0.1234", "1234.0", "1234.00", "0.123456789", 
"100.00005",
         "0.80018", "10.80018", "100.80018", "1000.80018", "10000.80018",
     }

     context.starttabulate { "||||" }
     context.TL()
     context.BC() context("method 1")
     context.BC() context("method 2")
     context.BC() context("method 3")
     context.NC()
     context.NR()
     context.ML()
     for i=1,#t do
         local ti = t[i]
         context.NC() context.setvalue("spaceddigitsmethod",1) 
context.spaceddigits(ti)
         context.NC() context.setvalue("spaceddigitsmethod",2) 
context.spaceddigits(ti)
         context.NC() context.setvalue("spaceddigitsmethod",3) 
context.spaceddigits(ti)
         context.NC()
         context.NR()
     end
     context.LL()
     context.stoptabulate()

\stopluacode

\stoptext


-----------------------------------------------------------------
                                           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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Currency - space delimiting thousands
  2017-08-29 11:30     ` Hans Hagen
@ 2017-08-29 11:46       ` Procházka Lukáš Ing.
  0 siblings, 0 replies; 6+ messages in thread
From: Procházka Lukáš Ing. @ 2017-08-29 11:46 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: text/plain, Size: 3113 bytes --]

That's great, Hans, thank you!

Lukas


On Tue, 29 Aug 2017 13:30:48 +0200, Hans Hagen <pragma@wxs.nl> wrote:

> On 8/29/2017 12:35 PM, Procházka Lukáš Ing. wrote:
>> Hello,
>>
>> thank you, Hans...
>>
>> On Mon, 28 Aug 2017 11:30:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:
>>
>>> On 8/27/2017 9:15 PM, Procházka Lukáš Ing. wrote:
>>>> Hello,
>>>>
>>>> is there a built-in (Lua-?)numeric format to produce big numbers with
>>>> spaces delimiting thousands (widely used for currencies)?
>>>>
>>>> E.g.:
>>>>
>>>> ----
>>>> \cldcontext{string.format("%[separate-thousands].0f", 1234567.0)} % To
>>>> give: "1 234 567.00"
>>> there is some code deep down but it's in a module ... i'll move that to
>>> the converters namespace
>>
>> Could you provide a sample?
> \starttext
>
> \startluacode
>
>      local t = {
>          "1", "12", "123", "1234", "12345", "123456", "1234567",
> "12345678", "123456789",
>          "1.1", "12.12", "123.123", "1234.123", "1234.1234",
> "12345.1234", "1234.12345", "12345.12345",
>          "123456.123456", "1234567.1234567", "12345678.12345678",
> "123456789.123456789",
>          "0.00002", "0.1234", "1234.0", "1234.00", "0.123456789",
> "100.00005",
>          "0.80018", "10.80018", "100.80018", "1000.80018", "10000.80018",
>      }
>
>      context.starttabulate { "||||" }
>      context.TL()
>      context.BC() context("method 1")
>      context.BC() context("method 2")
>      context.BC() context("method 3")
>      context.NC()
>      context.NR()
>      context.ML()
>      for i=1,#t do
>          local ti = t[i]
>          context.NC() context.setvalue("spaceddigitsmethod",1)
> context.spaceddigits(ti)
>          context.NC() context.setvalue("spaceddigitsmethod",2)
> context.spaceddigits(ti)
>          context.NC() context.setvalue("spaceddigitsmethod",3)
> context.spaceddigits(ti)
>          context.NC()
>          context.NR()
>      end
>      context.LL()
>      context.stoptabulate()
>
> \stopluacode
>
> \stoptext
>
>
> -----------------------------------------------------------------
>                                            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
> ___________________________________________________________________________________


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Mob.: +420 702 033 396

[-- Attachment #2: ThousDig.mkiv --]
[-- Type: application/octet-stream, Size: 1153 bytes --]

\starttext

\startluacode

    local t = {
        "1", "12", "123", "1234", "12345", "123456", "1234567", "12345678", "123456789",
        "1.1", "12.12", "123.123", "1234.123", "1234.1234", "12345.1234", "1234.12345", "12345.12345",
        "123456.123456", "1234567.1234567", "12345678.12345678", "123456789.123456789",
        "0.00002", "0.1234", "1234.0", "1234.00", "0.123456789", "100.00005",
        "0.80018", "10.80018", "100.80018", "1000.80018", "10000.80018",
    }

    context.starttabulate { "||||" }
    context.TL()
    context.BC() context("method 1")
    context.BC() context("method 2")
    context.BC() context("method 3")
    context.NC()
    context.NR()
    context.ML()
    for i=1,#t do
        local ti = t[i]
        context.NC() context.setvalue("spaceddigitsmethod",1) context.spaceddigits(ti)
        context.NC() context.setvalue("spaceddigitsmethod",2) context.spaceddigits(ti)
        context.NC() context.setvalue("spaceddigitsmethod",3) context.spaceddigits(ti)
        context.NC()
        context.NR()
    end
    context.LL()
    context.stoptabulate()

\stopluacode

\stoptext

[-- Attachment #3: ThousDig.pdf --]
[-- Type: application/pdf, Size: 8842 bytes --]

[-- Attachment #4: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-29 11:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-27 19:15 Currency - space delimiting thousands Procházka Lukáš Ing.
2017-08-27 20:00 ` Pablo Rodriguez
2017-08-28  9:30 ` Hans Hagen
2017-08-29 10:35   ` Procházka Lukáš Ing.
2017-08-29 11:30     ` Hans Hagen
2017-08-29 11:46       ` Procházka Lukáš Ing.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).