You are looking at historical revision 32807 of this page. It may differ significantly from its current revision.
Outdated egg!
This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for the CHICKEN 4 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
Currency-converter
Perform currency convertion, using data from the XML feeds of the European Central Bank.
Author
Version
1.0.0 (initial release)
Requires
- ssax
- format
- http
Usage
(require-extension currency-converter)
Documentation
'''Procedure:''' (currency-convert FROM TO AMOUNT [#:table TABLE] [#:format? FORMAT?])
FROM and TO are symbols, AMOUNT is either a string or a number. TABLE is an alternate conversion to use, an alist of (SYMBOL . EURO-VALUE) FORMAT?, if #f, will not format the result as money (and thus return a string)
'''Variable:''' currency-converter-table
When #f (the default) the XML is retrieved and parsed from the bank at every call to currenncy-convert. When set, it's value is used as the conversion table.
'''Procedure:''' (currency-converter-table-initialize!)
Retrieve and parse current values from the bank and set currency-converter-table.
Available currencies
AUD | Australian dollar |
BGN | Bulgarian lev |
CAD | Canadian dollar |
CHF | Swiss franc |
CNY | Chinese yuan renminbi |
CYP | Cyprus pound |
CZK | Czech koruna |
DKK | Danish krone |
EEK | Estonian kroon |
GBP | Pound sterling |
HKD | Hong Kong dollar |
HRK | Croatian kuna |
HUF | Hungarian forint |
IDR | Indonesian rupiah |
ISK | Icelandic krona |
JPY | Japanese yen |
KRW | South Korean won |
LTL | Lithuanian litas |
LVL | Latvian lats |
MTL | Maltese lira |
MYR | Malaysian ringgit |
NOK | Norwegian krone |
NZD | New Zealand dollar |
PHP | Philippine peso |
PLN | Polish zloty |
RON | New Romanian leu |
RUB | Russian rouble |
SEK | Swedish krona |
SGD | Singapore dollar |
SKK | Slovak koruna |
THB | Thai baht |
TRY | New Turkish lira |
USD | US dollar |
ZAR | South African rand |
Examples
(currency-convert 'USD 'EUR 45.34) => "32.03" (currency-convert 'USD 'EUR 45.34 #:format? #f) => 32.3003490774382 (currency-convert 'USD 'EUR 45.34 #:table '((EUR . 1)(USD . 34))) => "1.33"
Licence
Copyright 2007 Jean-Philippe Theberge This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. A full copy of the GPL license can be found at http://www.gnu.org/licenses/.</td>