Re: Implement customizable number formatter

Daniel Dekany <[email protected]> Fri, 21 Aug 2015 14:55:26 +0200
Newsgroups gmane.comp.web.freemarker.devel
Message-ID <[email protected]>
SSBoYXZlbid0IHN0YXJ0ZWQgd29ya2luZyBvbiB0aGF0IHlldC4gSSAqaG9wZSogSSBjYW4gc3Rh
cnQgaXQKdG9tb3Jyb3cgb3Igc28uIFNvIEknbSBub3QgeWV0IDEwMCUgc3VyZSBob3cgaXQgd2ls
bCBsb29rLiBJIG9ubHkga25vdwpmb3Igc3VyZSB0aGF0IGl0IG11c3QgYmUgZmluaXNoZWQgZHVy
aW5nIHRoZSBuZXh0IHdlZWsuICg6IFNvIEkKcmVjb21tZW5kIHlvdSB0byBqdXN0IHF1aWNrbHkg
c2hvdmUgaW4geW91ciBOdW1iZXJGb3JtYXQgY2xhc3Mgd2hlcmUKRnJlZU1hcmtlciBjcmVhdGVz
IHRoZSBEZWNpbWFsRm9ybWF0LXMsIGFuZCB3YWl0IHdoYXQgd2lsbCBoYXBwZW4gbmV4dAp3ZWVr
Li4uIFlvdSBjYW4ndCByZWFsbHkgd29yayBhaGVhZC4KClRvIGFuc3dlciB5b3VyIHF1ZXN0aW9u
LCBFbnZpcm9ubWVuLmZvcm1hdE51bWJlcihOdW1iZXIpIGlzIGFuZApyZW1haW5zIGEgcG9pbnQg
d2hlcmUgbnVtYmVyIGZvcm1hdHRpbmcgd2l0aCB0aGUgY3VycmVudCBmb3JtYXQgZ29lcwp0aHJv
dWdoLCBvZiBjb3Vyc2UuIFRoZSBpbnRlcmVzdGluZyB0aGluZyBpcyB0aG91Z2ggaWYgaG93IHdp
bGwgbnVtYmVyCmZvcm1hdHRlcnMgYmUgcmVwcmVzZW50ZWQgKG5vdCBqYXZhLnRleHQuTnVtYmVy
Rm9ybWF0IGFueW1vcmUgWypdKSwKYW5kIHdoYXQgb2JqZWN0IHdpbGwgY3JlYXRlIHRoZW0uIFRo
ZSAoaW5oZXJpdGVkKSBsb2dpYyBvZiBGcmVlTWFya2VyCmlzIHRoYXQgeW91IHNwZWNpZnkgYSAq
c3RyaW5nKiBhcyB0aGUgIm51bWJlcl9mb3JtYXQiIHNldHRpbmcgKHdoaWNoCmNhbiBldmVuIGJl
IGNoYW5nZWQgaW5zaWRlIHRoZSB0ZW1wbGF0ZSwgaW4gcnVudGltZSksIGFuZCB0aGVuCmludGVy
bmFsbHkgdGhhdCBiZWNvbWVzIHRvIGEgY2FjaGVkKCEpIERlY2ltYWxGb3JtYXQgb2JqZWN0IGZv
ciB0aGUKY3VycmVudCBMb2NhbGUuIFNvIGNlcnRhaW5seSwgdGhlcmUgd2lsbCBiZSBzb21lIHNp
bXBsZSBpbnRlcmZhY2UgbGlrZQpmcmVlbWFya2VyLmNvcmUuTnVtYmVyRm9ybWF0dGVyLCBhbmQg
dGhlbiB5b3Ugd2lsbCBuZWVkIHRvIHJlZ2lzdGVyIGEKZnJlZW1hcmtlci5jb3JlLk51bWJlckZv
cm1hdHRlckZhY3Rvcnkgd2l0aCBhIHVuaXF1ZSBuYW1lIChsZXQncyBzYXkKInByaWNlIiksIHdo
aWNoIHRoZW4geW91IGNhbiByZWZlciB0byBsaWtlCmNmZy5zZXROdW1iZXJGb3JtYXQoIkBwcmlj
ZSIpLCA8I3NldHRpbmcgbnVtYmVyRm9ybWF0PSJAcHJpY2UiPiwKJHt4P3N0cmluZygiQHByaWNl
Iil9LCBldGMuIEFuZCBzbyB0aGVyZSwgdGhlIGZhY3RvcnkgaGFzIGEgY2hhbmNlIHRvCmNhY2hl
LiBGdXJ0aGVybW9yZSwgYWZ0ZXIgdGhlIG51bWJlciBmb3JtYXQgc3RyaW5nIHdhcyBkZWxlZ2F0
ZWQgdG8KdGhlIE51bWJlckZvcm1hdEZhY3RvcnkgYmFzZWQgb24gdGhlIG5hbWUgYWZ0ZXIgdGhl
ICJAIiwgaXQgd2lsbCBnZXQKdGhlIGZvcm1hdCBzdHJpbmcgZm9yIHBhcnNpbmcsIHNvIHRoYXQg
c3R1ZmYgbGlrZSAiQHByaWNlIDAuMDAiIGNhbiBiZQppbXBsZW1lbnRlZC4gU28gdGhvc2UgYXJl
IG15IGluaXRpYWwgdGhvdWdodHMuIChJIHdpbGwgcmV2aWV3IGhvdyBkYXRlCmZvcm1hdHRpbmcg
d29ya3MsIHdoaWNoIGhhcyBhIHNpbWlsYXJseSBmYW5jeSBhcmNoaXRlY3R1cmUgZm9yIGEKd2hp
bGUsIG9ubHkgdGhhdCdzIG5vdCBhIHB1YmxpYyBBUEkuLi4geWV0LikKCio6IFdoeSBub3QgTnVt
YmVyRm9ybWF0PyBUd28gcmVhc29uczoKCiAgIChhKSBPbmUgaW1wb3J0YW50IGdvYWwgb2YgcGx1
Z2dhYmxlIG51bWJlciBmb3JtYXR0ZXJzIHdpbGwgYmUKICAgICAgIGF1dG9tYXRpYyB1bml0IHBy
aW50aW5nLiBJbiBzb21lIGFwcHMsIHRoZSB0ZW1wbGF0ZSBhdXRob3JzCiAgICAgICBhcmVuJ3Qg
c3VwcG9zZWQgdG8gcHJpbnQgdGhlIHVuaXRzIG1hbnVhbGx5LiBMaWtlICR7cHJpY2V9LAogICAg
ICAgd2hlcmUgcHJpY2UgaXMgYSBudW1iZXIsIHNob3VsZCBhdXRvbWF0aWNhbGx5IHByaW50ICIx
MDAwIEVVUiIKICAgICAgIG9yIHN1Y2guIFRoYXQgcmVxdWlyZXMgdGhlIGZvcm1hdHRlciB0byBn
ZXQgdGhlCiAgICAgICBUZW1wbGF0ZU51bWJlck1vZGVsIGluc3RlYWQgb2YganVzdCB0aGUgTnVt
YmVyLCBhcyBpdCdzIHRoZQogICAgICAgVGVtcGxhdGVOdW1iZXJNb2RlbCB0aGF0IGNhcnJpZXMg
dGhlIHJlcXVpcmVkIG1ldGEtaW5mb3JtYXRpb24uCgogICAoYikgTnVtYmVyIGZvcm1hdCBpcyB3
YXkgdG9vIGJsb2F0ZWQgaWYgdXNlcnMgbWVhbnQgdG8gaW1wbGVtZW50IGl0CiAgICAgICBmb3Ig
c29tZSBhZC1ob2MgbnVtYmVyIGZvcm1hdC4KCi0tIApUaGFua3MsCiBEYW5pZWwgRGVrYW55CgoK
RnJpZGF5LCBBdWd1c3QgMjEsIDIwMTUsIDExOjIwOjEyIEFNLCBFcm5zdCBQbMO8c3Mgd3JvdGU6
Cgo+IEhlbGxvCj4KPiBGcm9tCj4gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8z
MjExMTIzNC9ob3ctdG8taW1wbGVtZW50LWxvZ2ljLWZvci1iaWdkZWNpbWFsLXJlbmRlcmluZy1p
bi1mcmVlbWFya2VyCj4gSSBsZWFybmRlZCwgdGhhdCBzb21lIGtpbmQgb2YgcGx1Z2FibGUgbnVt
YmVyIGZvcm1hdHRlciBzaG91bGQgY29tZSBzb29uLgo+Cj4gSXMgdGhlcmUgYWxyZWRheSBhbnkg
Y29kZSBvbiBnaXRodWIgZm9yIHRoaXM/Cj4KPiBJZiBub3QsIHdoYXQncyB0aGUgZ2VuZXJhbCBh
cHJvYWNoIGFkZCB0aGlzIGZ1bmN0aW9uYWxpdHk/IEFmdGVyCj4gaGF2aW5nIGEgbG9vayBhdCB0
aGUgc291cmNlcywgSSB0aGluayBJIGNvdWxkIGJ1aWx0IHRoaXMgaW50bwo+IEVudmlyb25tZW4u
Zm9ybWF0TnVtYmVyKE51bWJlciBudW1iZXIpLiBJcyB0aGlzIHRoZSBpbnRlbmRlZCB3YXkgdG8g
aW1wbGVtZW50IHRoaXM/Cj4KPiBSZWdhcmRzCj4gRXJuc3QKPgoKCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVl
TWFya2VyLWRldmVsIG1haWxpbmcgbGlzdApGcmVlTWFya2VyLWRldmVsQGxpc3RzLnNvdXJjZWZv
cmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9mcmVl
bWFya2VyLWRldmVsCg==