Calculate Anything is a workflow for Alfred 4, that uses natural language and is able to calculate multiple things like currency, time, vat, px, em, rem, percentage, and more.
There are several conversion workflows out there but I wanted a workflow that worked naturally. For example, you can open Alfred, type 100 + 9
and get a result. No need for keywords or hotkeys -- it just works. With Calculate Anything you can do the same, simply type 100 + 16%
, 100 euros to usd
, 100km in cm
or 100 years to hours
and many more.
- Natural language - type
100 euros to dollars
,100 euros in usd
,100€ to $
,100eur usd
,100 euros a dolares
-- it does not matter, the same result will be displayed - Currency - Up to 168 currencies
- Cryptocurrency - Support for 100 cryptocurrencies
- Units -
100 kilometers to meters
or100 km to m
or simply100km m
- Data Storage -
100 gigabytes in megabytes
,2 gb to mb
,400MiB to kib
,2tb gb
etc. - Percentages -
100 + 16%
,100 - 16%
,40 as a % of 50
,20 is what % of 50
etc. - px,em,rem,pt -
12px
or12px to em
or12px pt
- Time -
time +15 years
,time now plus 6 hours
or convert a timestamp - VAT - value added tax calculations, we all need this
- Translations You can create your own translations to display results in your language
- Keywords Extend the natural language support so you can type
100 dolares a pesos
and see the result of100usd to mxn
Starting from Mac OS Monterey Apple removed PHP so you have to install it manually, that can easily be done with Homebrew, just open your terminal and paste the commands below:
1.- Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2.- Install PHP
brew install php
That's it, you need to have the latest version of Alfred and will automatically find the PHP version that you install.
Mac OS Big Sur users and below do not need to do anything as your Mac OS already includes PHP.
Make sure to download the latest released directly from the releases page. Download here.
There's only one global setting and that's the language. This setting will allow you to type in Alfred using your own language and also will change the notifications and texts. View the Translations section for the available languages.
Configure it with:
- In Alfred type
ca
, select Set base language and select the language you want to use. You can also typeca lang
View the configuration section for more info.
You can use natural language or a few characters -- that's all! For example:
- 100 us dollars in mexican pesos
- 100 canadian dollars in argentinian peso
- 100 euros to dollars
- 100 euros in dollars
- 100 euros as dollars
- 100 euros a dolares (you can also write it in your own language)
- 100 usd to mxn
- 100 usd mxn
- 100usd yen
- 100€ to $
- 100 ¥ in €
- 100¥ €
- 100eur (if no target the currency will be converted to the base currencies that you configured)
You can set a base currencies so if you type for example 120 euros it will be automatically converted to the currencies that you configured.
All these examples just work. You can add spaces between the value and the currency or not.
When a result is displayed you can use action modifiers to copy the value in different formats:
- Return Press Return to copy the value with format, for example 2,376.54
- Command + Return Press Command + Return to copy the value without formatting, for example 2376.54
- Option + Return Press Option + Return to copy the value of a single unit, for example 23.76
By default the workflow will use exchangeratehost api to make the conversion. exchangeratehost only support 32 currencies; if you need support for additional currencies supported by Calculate Anything, you need to get a free API key from https://fixer.io -- it takes less than a minute!
The following options are available for each currency. Simply launch Alfred, type ca
and select any of the options below. View the configuration section for more info.
- Add base currency
This will become your base currency, if you type
100eur
it will automatically be converted to the currencies you define here. You can define multiple currencies by repeting the process. - Delete base currency If you no longer want a base currency you can select this option to list all configured base currencies, you can delete a currency by simply pressing Return
- Set currency format Used to format the converted amount, you will see a list of formats to choose from, simply press return to select a format.
- Set Fixer API Set your fixer API Key for support more currencies, after you select this option just copy paste your Key and press Return to save it.
The currencies are updated every 24 hours, if you need to update this more often you can set a custom interval. To do this you need to Set a Workflow Environment Variables. The name should be currency_cache_interval
and the value should be the number of hours, for example, to update every 6 hours you need to set the value to 6
. Only do this if you know what you are doing and you understand that the API has limits.
You can use currency symbols in your query. For example 100¥ to €
will be converted from 100 Japanese yen to the equivalent in Euros. Here is a list of available symbols:
If by any chance you don't remember the currency symbol or abbreviation simply type ca list
and select "List Available Currencies"
Symbol | Currency | Value |
---|---|---|
€ | EUR. | Euro. |
ÂĄ | JPY. | Japanese yen. |
$ | USD. | United States dollar. |
R$ | BRL. | Brazilian real |
лв | BGN | Bulgarian lev |
áź› | KHR | Cambodian riel |
CÂĄ | CNY | Renminbi |
CÂĄ | CNY | Renminbi |
₡ | CRC | Costa Rican colon |
₱ | CUP | Cuban peso |
KÄŤ | CZK | Czech koruna |
kr | DKK | Danish krone |
RD$ | DOP | Dominican peso |
ÂŁ | GBP | Pound sterling |
¢ | GHS | Ghanaian cedi |
Q | GTQ | Guatemalan quetzal |
L | HNL | Honduran lempira |
Ft | HUF | Hungarian forint |
â‚ą | INR | Indian rupee |
Rp | IDR | Indonesian rupiah |
ď·Ľ | IRR | Iranian rial |
â‚Ş | ILS | Israeli new shekel |
J$ | JMD | Jamaican dollar |
â‚© | KRW | South Korean won |
ден | MKD | Macedonian denar |
RM | MYR | Malaysian ringgit |
MT | MZN | Mozambican metical |
Ć’ | ANG | Netherlands Antillean guilder |
C$ | NIO | Nicaraguan cĂłrdoba |
₦ | NGN | Nigerian naira |
B/. | PAB | Panamanian balboa |
Gs | PYG | Paraguayan guaranĂ |
S/. | PEN | Peruvian Sol |
TT$ | TTD | Trinidad and Tobago dollar |
TT$ | TTD | Trinidad and Tobago dollar |
â‚´ | UAH | Ukrainian hryvnia |
Calculate Anything can convert between 5,000 cryptocurrencies and you can define your own. Again, you can use natural language or simply pass the currency symbol.
- 2 bitcoins to dollars
- 0.1 bitcoin in dollars
- 5 bitcoins in ethereum
- 1 ethereum to ÂĄ
- 10 ethereum in mxn
- 1eth btc
- 1btc (if no target currency is provided, the configured base currency will be used)
When a result is displayed you can use action modifiers to copy the value in different formats:
- Return Press Return to copy the value with format, for example 2,376.54
- Command + Return Press Command + Return to copy the value without formatting, for example 2376.54
- Option + Return Press Option + Return to copy the value of a single unit, for example 23.76
You need to get a free API key from https://coinmarketcap.com/api/pricing/. This takes less than a minute.
The following options are available for cryptocurrency conversions. Simply launch Alfred, type ca
and select any of the options below. View the configuration section for more info.
-
Set Coinmarketcap API Select this option, paste your API key and press Return to save it.
-
Add custom cryptocurrency The workflow includes up to 5,000 cryptocurrencies. if you need a cryptocurrency that it's not included, you can select this option and enter the cryptocurrency symbol, for example
SATS
for Satoshi, if you do not know the symbol go to https://coinmarketcap.com, search for the cryptocurrency and the symbol will be at the right side of the cryptocurrency name. -
Remove custom cryptocurrency Select this option to remove a custom cryptocurrency if no longer needed.
The cryptocurrencies are updated every 24 hours, if you need to update this more often you can set a custom interval. To do this you need to Set a Workflow Environment Variables. The name should be cryptocurrency_cache_interval
and the value should be the number of hours, for example, to update every 6 hours you need to set the value to 6
. Only do this if you know what you are doing and you understand that the API has limits.
You can write your query using natural language or just a few characters. Either way works!
- 100 kilometers to meters
- 100 km in meters
- 100 km m
- 100km m
- 100 miles as meters
- 100miles in meters
- 100 miles to m
- 100 ounces to kilograms
- 100oz to kg
- 100oz = kg
- 100oz kg
- 10 years to months
- 10years to seconds
- 10 years hr
- 1 year to sec
- 1hr secods
- 1hr s
- 10 days hr
- 10 dĂas a horas (use your own language)
If you don't remember the unit abbreviation, simply type the name of the unit. For example, instead of "oz" you can type "ounce" or "ounces" or even use words in your own language like "onza" or "onzas" in Spanish.
Finally, if you still don't remember the unit's abbreviation or name simply type ca list
and select List Available Units. From there you can type to filter, etc.
When a result is displayed you can use action modifiers to copy the value in different formats:
- Return Press Return to copy the value with format, for example 2,376.54
- Command + Return Press Command + Return to copy the value without formatting, for example 2376.54
- Option + Return Press Option + Return to copy the value of a single unit, for example 23.76
There are no options available for now.
Here is a list of all available units and their names just to make this README even longer.
Unit | Unit Name |
---|---|
m | Meter |
km | Kilometer |
dm | Decimeter |
cm | Centimeter |
mm | Milimeter |
ÎĽm | Micrometer |
nm | Nanometer |
pm | Picometer |
in | Inch |
ft | Foot |
yd | Yard |
mi | Mile |
nmi | Nautical Mile |
h | Hand |
ly | Lightyear |
au | Astronomical Unit |
pc | Parsec |
Unit | Unit Name |
---|---|
m2 | Square Meter |
km2 | Square Kilometer |
cm2 | Square Centimeter |
mm2 | Square Milimeter |
ft2 | Square Foot |
mi2 | Square Mile |
ha | Hectare |
Unit | Unit Name |
---|---|
l | Litre |
ml | Mililitre |
m3 | Cubic Meter |
kl | kilolitre |
hl | hectolitre |
qt | Quart |
pt | Pint (US Pint) |
ukpt | Pint (UK Pint) |
gal | Gallon (US Gallon) |
ukgal | Gallon (UK Gallon) |
floz | Fluid ounce |
Unit | Unit Name |
---|---|
kg | Kilogram |
gl | Gram |
mg | Miligram |
N | Newton |
st | Stone |
lb | Pound |
oz | Ounce |
t | Metric Tonne |
ukt | UK Long Ton |
ust | US Short Ton |
Unit | Unit Name |
---|---|
mps | Meters Per Second |
kph | Kilometers Per Hour |
mph | Miles Per Hour |
fps | Feet Per Second |
Unit | Unit Name |
---|---|
deg | Degrees |
rad | Radian |
Unit | Unit Name |
---|---|
k | Kelvin |
c | Centigrade |
f | Fahrenheit |
Unit | Unit Name |
---|---|
pa | Pascal |
kpa | Kilopascal |
mpa | Megapascal |
bar | Bar |
mbar | Milibar |
psi | Pound-force Per Square Inch |
Unit | Unit Name |
---|---|
s | Second |
year | Year |
month | Month |
week | Week |
day | Day |
hr | Hour |
min | Minute |
ms | Milisecond |
ÎĽs | Microsecond |
ns | Nanosecond |
Unit | Unit Name |
---|---|
j | Joule |
kj | Kilojoule |
mj | Megajoule |
cal | Calorie |
Nm | Newton Meter |
ftlb | Foot Pound |
whr | Watt Hour |
kwhr | Kilowatt Hour |
mwhr | Megawatt Hour |
mev | Mega Electron Volt |
You can write your query using natural language or just a few characters. Either way works!
- 100 gigabytes in megabytes
- 100 gigas in megas
- 100 Mebibytes in Kibibytes
- 100 gb to mb
- 100gb to kb
- 100gb mb
- 400MiB in kib
- 2tb gb
- 1b kb
Please note, this workflow follows the IEC Standard (International Electrotechnical Commission) as it had been adopted by the IEEE, EU, and NIST. That means that if you type 1MB in KB
you will get 1000 KB
but if you type 1MiB in KiB
you will get 1024 KB
, you can read more about it here Multiple-byte_units
Do you prefer 1 MB = 1024 KB? No problem, you can configure it, checkout Data Storage Options.
When a result is displayed you can use action modifiers to copy the value in different formats:
- Return Press Return to copy the value with format, for example 2,376.54
- Command + Return Press Command + Return to copy the value without formatting, for example 2376.54
There's no exactly "options" it's more of a way for people to overwrite the conversion and use always the Binary mode so 1 MB = 1024 KB
. To enable this you need to Set a Workflow Environment Variables. The name should be datastorage_force_binary
and the value should be true
.
Unit | Unit Name |
---|---|
B | Byte |
kB | Kilobyte |
MB | Megabyte |
GB | Gigabyte |
TB | Terabyte |
PB | Petabyte |
EB | Exabyte |
ZB | Zettabyte |
YB | Yottabyte |
bit | bit |
KiB | Kibibyte |
MiB | Mebibyte |
GiB | Gibibyte |
TiB | Tebibyte |
PiB | Pebibyte |
EiB | Exbibyte |
ZiB | Zebibyte |
YiB | Yobibyte |
You can easily calculate percentages. For example:
- 40 as a % of 50 // 40 is 80% of 50
- 20 is what % of 50 // 20 is 40% of 50
- 15% of 50 = 7.50 // 7.5 equals to 15% of 50
- 120 + 30% = 156 // 120 plus the 30% of 120
- 120 plus 30% = 156 // 120 plus the 30% of 120
- 120 - 30% = 84 // 120 minus the 30% of 120
- 120 minus 30% = 84 // 120 minus the 30% of 120
- 30 % 40 = 75% // 30 is 75% of 40
Translations and natural language can also be used
- 120 más 30% = 156
- 120 menos 10% = 108
- 40 como % de 50 = // 40 es 80% de 50
Open Alfred, type 12px
and you'll see the value converted to em, rem and pt. It's that simple. Check the examples below.
- 12px
- 12px to em
- 2 rem
- 2rem
- 2rem to pt
# use a custom px base or configure it in the workflow
- 12px in em base 17px
The following options are available. Simply launch Alfred, type ca
and select any of the options below. View the configuration section for more info.
- Set base pixels The base pixels for calculations (the value must be in px), for example 16px
Given its less frequently used, time conversions require the use of the keyword time.
# converts the timestamp to a regular date
- time 1577836800
# gives you the time from now plus 15 days
- time +15 days
- time now plus 3 days
# gives you the time from now plus 3 working days
- time today + 3 workdays
- time now + 3 workdays
- time + 3 workdays
# number of days until specified date
- time days until 31 december
# the start date of current year
- time start of year
# the start date of specified year
- time start of 2021
# the end date of current year
- time end of year
# the end date of specified year
- time end of 2021
# it also works in your language
- time inicio de 2020
- time fin de 2020
- time dias hasta 31 diciembre
# get information about date
- time 31 December, 2021 18:00:00
- time 31/12/2021 18:00:00
- time 12/31/2021 18:00:00
# calculate the difference between two dates
- time 25 December, 2021 - 31 December, 2021
- time 31-11-2019 - 21-11-2019
- time 11/31/2019 - 11/21/2019
The following options are available. Simply launch Alfred, type ca
and select any of the options below. View the configuration section for more info.
-
Set base timezone Base time zone used to calculate dates in your time zone, search and select your zone from the list and press Return to save it.
-
Add date format Configure a new date format so the date is displayed the way you want, for example j F, Y, g:i:s a (more information about available values for date)
-
Delete date format It will show you a list of configured date formats, simply select the one you want to delete and press Return to remove it
You can add formats for your dates and times. Simply launch Alfred, type ca
and select the option Add date format. Enter the format you want and press Return. View the configuration section for more info.
Time will use the language that you configure with Set base language.
With this you can calculate the VAT for a given amount. Like time, VAT is also triggered with a keyword. By default, the keyword is "vat" but you can change the keyword in the workflow.
Given the following query
vat of 400 (with a 16% VAT configured, a percentage you can configure)
Calculate Anything will provide the following conversions:
- VAT of 400 = 64 (the VAT amount)
- 400 plus VAT = 464 (the Amount plus VAT)
- 400 minus VAT = 344.82 (the Amount minus VAT, useful if you have a final amount and want to know the VAT applied)
The following options are available. Simply launch Alfred, type ca
and select any of the options below. View the configuration section for more info.
- Set VAT percentage the VAT percentage to apply,for example 16%
This is a list of available languages:
Language | Code |
---|---|
English | en_EN |
Spanish | es_ES |
To create your own translation, just follow these steps:
- Copy and paste
/lang/en_EN.php
and/lang/en_EN-keys.php
into the same folder - Change the name of the pasted files to your country lang code, for example
ru_RU.php
andru_RU-keys.php
- Open and translate
ru_RU.php
- Open and modify
ru_RU-keys.php
. Read more about this file in the section Keywords. - Set your new language with
ca lang
(Your new language should be detected automatically) - Share it with the world -- and me! (I welcome pull requests or links to services like pastebin.com)
Keywords are words that can be used when writing a query in natural language. For example, by default, the keyword "ounces" will be converted to "oz", "kilometers" will be converted to "km" and "dollars" will be converted to "USD". Keywords allow the user to type in a more natural way and in their own language.
'units' => [
'hours' => 'hr',
'hour' => 'hr',
'kilometers' => 'km',
'ounces' => 'oz',
'ounce' => 'oz',
'hakunamatata' => 'year', // try adding this
...
],
If the user the types:
1 hakunamatata to months, the result will be 12
There is no limit to the keywords that you can add.
Stop words are words that can be used in the query when using natural language, for example 100km to cm
. Here the stop word is "to".
Stop words are useful for two things:
- Allow the user to write more naturally and in their own language (e.g 100 dolares a mxn) "a" is the stop word
- Check if the query has to be processed
For example:
100km equals meters
If the word "equals" is not registered in the stop_words
array then it won't be processed. After processing, stop words are removed so 100km to cm
is understood as 100km cm
.
You can modify stop words in the same keys file, for example /lang/en_EN-keys.php
.
'units' => [
'hours' => 'hr',
'hour' => 'hr',
'stop_words' => ['to', '=']
...
],
You can easily configure the Calculate Anything workflow. Simply open Alfred, type ca
and you will see a list of all the available options to configure the workflow. You can also filter the options for example launch Alfred and start typing ca fixer
and you will automatically see the options filtered. To select an option just press Return.
The workflow stores some data about currency in the workflow data folder. You can delete the cache by opening Alfred and typing ca clear
. You can decide between deleting the cache, delete stored settings or both.
The workflow will check for updates in the background every 15 days and will notify you when a new update is available. If you want to check for updates manually, launch Alfred and type ca update
.
For currency, percentage and unit conversions, Calculate Anything will only process the query if it begins with a digit and has at least 3 characters. Time and VAT conversions need a keyword because they are not often used.
This workflow would not be possible without:
- Convertor with some modifications
- Changed: Currency conversion is prioritized over cryptocurrencies, there`s thousands of useless cryptocurrencies and some use the same code, for example Bitish Pound and Crypto Good Boy Points both use the code GBP, now if you try to convert 100 GBP it will default to Bitish Pound, you can still configure it to use the crypto if you prefer it that way
- Fixed: Crytocurrency to currency noy working correctly when the currency cache was expired
- New: You can now provide a workflow variable to define the duration of the currencies cache
- New: Support for more cryptocurrencies, up to 5,000
- New: You can also difine custom cryptocurrencies
- Updated: Fixer.io API now uses API Layer, the workflow will check your API key to make sure the correct endpoint is used.
- Improved: Now the workflow shows a message when it's updating currency and cryptocurrencies rates
- Improved: Replaced file_get_contents with curl for some operations
- Fixed: datastorage_force_binary was not working as expected
- Fixed: No output in cryptocurrencies when "from" and "to" were the same
- Fixed: Error on updater not working correctly with some PHP versions
- Updated dependencies
- New: Added Power units w, kw, ps, and hp. @wwkeyboard
- New: Added knot
- Improved: Fixer API error handling
- Fixed: Time errors caused by workflow missing user configuration
- Fixed: Currency format error
- Improved: Mac OS Monterey support
- Fixed: Support vat percentage with decimals
- Fixed: Spelling error
- Changed: Time keyword changed to "argument required" to not display results when not required
- Improved: Configuration menu, when entering to a submenu now you can go back to the main menu instead of closing Alfred
- Improved: Updates message in results
- Improved: Previous settings migration
- Fixed: Round units conversion
- New: Quart now defaults to US Quart (0.946353 Liters) to mimic the same results as other converters. You can sill type
1 uk quart in liter
or1 ukqt in liter
or1 us quart in liter
- Improved: Decimals formatting
- Improved: Added eurs keyword
- Fixed: Temperature conversion not working
- Fixed: Cache folder not created for new installations
- Fixed: Forgot to change the name of a env variable after a PR in time conversions
- New: Now the Workflow settings are saved in the workflow variables, if you configure alfred to use Dropbox now the settings of the workflow will also be synced. Existing config will be converted automatically on update.
- New: Added support for data storage: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte, Zettabyte, Yottabyte, bit, Kibibyte, Mebibyte, Gibibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte.
- New: Added US Gallon in Volume conversions
- New: Added Fluid Ounces in Volume conversions
- New: Gallon now defaults to US Gallon (3.78541 Liters) to mimic the same results as other converters. You can sill type
1 uk gal in liter
or1 ukgal in liter
1 uk gallon in liter
or1 us gal in liter
- New: Pint now defaults to US Pint (0.473176 Liters) to mimic the same results as other converters. You can sill type
1 uk pint in liter
or1 uk pint in liter
1 uk pt in liter
or1 us pint in liter
- New: Added stopword
as
so you can type1 kilometer as meters
or1km as m
, etc. - New: Added stopword
en
(spanish) so you can type1 kilometro en metros
or1km en m
, etc. - New: When downloading rates the workflow will rerun it's query to update the results
- New: The workflow was restructured and some parts were rewritten
- New: Added millas, milla, miles, mile, keywords so you can type
4 miles in feet
- New: Updated documentation and examples
- Improved: Updater, now displays notifications using alfred and will also notify you in the results
- Improved: Updated translations
- Improved: Added space between number and unit/currency for better readability
- Improved: Removed some dependencies
- Fixed: Subtitle not formatted according the currency locale in crypto conversions
- Fixed: Error in subtitle for time conversions (milliseconds)
- Fixed: Incorrect Time Unit Conversion
- Fixed: Incorrect crypto conversion when downloading updated currency rates
- Fixed: crypto currencies result now displays default workflow icon instead of an empty space
- New: Removed exchangeratesapi as it now requires an API Key
- New: Added exchangerate.host
- New: Improved configuration. Now displays a list of time zones to choose from
- New: Improved configuration. Now displays a list of currencies to choose from
- New: Improved configuration. Now displays a list of languages to choose from
- Fixed: Unable to run/save configuration on certain cases
- New: Improved natural language for percentages 40 as a % of 50 = 80%, 20 is what % of 50 = 40%
- Fixed: Modifier keys for units (command key to copy value without format)
- Fixed: Modifier keys for percentages (command key to copy value without format)
- Fixed: Percentages now working even if there are no spaces in the query (6000-10%)
- Fixed: An error in vat calculation that when pressing enter the wrong value was copied to clipboard
- New: Improved currency conversion speed.
- New: You can use quick calculations for VAT.
- New: Added calculate clear to easily clear the workflow cache, settings or both.
- Changed: Vat action modifiers to be the same as currency, etc.
- Fixed: months to year calculation
- Fixed: updater error causing the workflow to not work
- Changed: standard output for percentage calculations
- Fixed: Error that prevented the conversion of some units
- Fixed: unit conversion displaying null in Alfred
- Fixed: vat calculations not able to use natural language
- Improved: Detection of units
- Improved: Detection of percentages
- Improved: Language translations
- New: Improved actions modifiers, more info in the docs.
- Fixed: Error when saving base currencies
- New: Complete rewrite to be more maintainable and extendable
- New: Added cryptocurrencies support
- New: Actions mofidiers, you can press CMD or option to copy the value in different formats
- New: Display exchange rate conversions in multiple currencies at once
- New: Added new workflow updater
- Fixed a bug where some configuration was saves in lowercase causing some problems with dates and currency formatting
- New: pixels, em, rem, pt calculations example: 12px or 12px to em or 12px to rem or 12px to pt
- New: Added today + X workdays
- Updated translations
- Fixed currency now works correctly with decimals and commas
- Fixed some units conversion not working
- New: Added new way to configure the workflow
- New: Added OneUpdated for automatic updates
- Fixed percentage calculation error
- Improved decimal places to ignore last 0 for example 17.50 becomes 17.5
- Improved the workflow, cleaning and removing nodes and code
- Fixed speed calculations not working
- Changed currency cache expiration to 2 hours for fixer.io and 12 hours for exchangerates
- Added support for fixer.io
- Some cleanup
- FIXED Decimal pints to display values correcly from currencies
- FIXED currency conversions to base currency always displayed the $ symbol
- FIXED currency conversions from base currency eur to EUR triggered error
- Initial release
This project is licensed under the MIT License. See LICENSE.md for details.