11//
22// FILE: currency.cpp
33// AUTHOR: Rob Tillaart
4- // VERSION: 0.1.9
4+ // VERSION: 0.2.0
55// PURPOSE: Currency library for Arduino
66// URL: https://github.com/RobTillaart/Currency
77
@@ -59,7 +59,7 @@ char * currency64(int64_t value, int decimals, char decimalSeparator, char thous
5959
6060 while ((pos < 1 ) || (v > 0 ))
6161 {
62- // separators
62+ // separators
6363 if ((pos == 0 ) && (decimals > 0 ) ) tmp[index++] = decimalSeparator;
6464 if ((pos > 0 ) && (pos % 3 == 0 ) ) tmp[index++] = thousandSeparator;
6565 pos++;
@@ -86,29 +86,50 @@ char * currency64(int64_t value, int decimals, char decimalSeparator, char thous
8686//
8787// DERIVED FUNCTIONS
8888//
89- char * bitcoin (int32_t value) { return currency (value, 6 , ' .' , ' ,' , ' B' ); }
89+ char * bitcoin (int32_t value) { return currency (value, 6 , ' .' , ' ,' , ' B' ); }
9090char * dollar (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' $' ); }
9191char * euro (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' E' ); }
92- char * pound (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' L ' ); }
93- char * roubles (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' P ' ); }
92+ char * pound (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' P ' ); }
93+ char * roubles (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' R ' ); }
9494char * yen (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' Y' ); }
95- char * yuan (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' R ' ); }
95+ char * yuan (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' Y ' ); }
9696
97- char * bitcoin64 (int64_t value) { return currency64 (value, 6 , ' .' , ' ,' , ' B' ); }
97+ char * bitcoin64 (int64_t value) { return currency64 (value, 6 , ' .' , ' ,' , ' B' ); }
9898char * dollar64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' $' ); }
9999char * euro64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' E' ); }
100- char * pound64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' L ' ); }
101- char * roubles64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' P ' ); }
100+ char * pound64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' P ' ); }
101+ char * roubles64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' R ' ); }
102102char * yen64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' Y' ); }
103- char * yuan64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' R' ); }
104-
105- char * bitcoinf (double value) { return currency64 (round (value * 1000000 ), 6 , ' .' , ' ,' , ' B' ); }
106- char * dollarf (double value) { return currency64 (round (value * 100 ), 2 , ' .' , ' ,' , ' $' ); }
107- char * eurof (double value) { return currency64 (round (value * 100 ), 2 , ' ,' , ' .' , ' E' ); }
108- char * poundf (double value) { return currency64 (round (value * 100 ), 2 , ' ,' , ' .' , ' L' ); }
109- char * roublesf (double value) { return currency64 (round (value * 100 ), 2 , ' ,' , ' .' , ' P' ); }
110- char * yenf (double value) { return currency64 (round (value * 100 ), 2 , ' .' , ' ,' , ' Y' ); }
111- char * yuanf (double value) { return currency64 (round (value * 100 ), 2 , ' .' , ' ,' , ' R' ); }
103+ char * yuan64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' Y' ); }
104+
105+ // deprecated
106+ // char * bitcoinf(double value) { return currency64(round(value * 1000000LL), 6, '.', ',', 'B'); }
107+ // char * dollarf(double value) { return currency64(round(value * 100LL), 2, '.', ',', '$'); }
108+ // char * eurof(double value) { return currency64(round(value * 100LL), 2, ',', '.', 'E'); }
109+ // char * poundf(double value) { return currency64(round(value * 100LL), 2, ',', '.', 'P'); }
110+ // char * roublesf(double value) { return currency64(round(value * 100LL), 2, ',', '.', 'R'); }
111+ // char * yenf(double value) { return currency64(round(value * 100LL), 2, '.', ',', 'Y'); }
112+ // char * yuanf(double value) { return currency64(round(value * 100LL), 2, '.', ',', 'Y'); }
113+
114+
115+ //
116+ // TLA - Three Letter Acronyms
117+ //
118+ char * BTC (int32_t value) { return currency (value, 6 , ' .' , ' ,' , ' B' ); }
119+ char * USD (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' $' ); }
120+ char * EUR (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' E' ); }
121+ char * GBP (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' P' ); }
122+ char * RUB (int32_t value) { return currency (value, 2 , ' ,' , ' .' , ' R' ); }
123+ char * JPY (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' Y' ); }
124+ char * CNY (int32_t value) { return currency (value, 2 , ' .' , ' ,' , ' Y' ); }
125+
126+ char * BTC64 (int64_t value) { return currency64 (value, 6 , ' .' , ' ,' , ' B' ); }
127+ char * USD64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' $' ); }
128+ char * EUR64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' E' ); }
129+ char * GBP64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' P' ); }
130+ char * RUB64 (int64_t value) { return currency64 (value, 2 , ' ,' , ' .' , ' R' ); }
131+ char * JPY64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' Y' ); }
132+ char * CNY64 (int64_t value) { return currency64 (value, 2 , ' .' , ' ,' , ' Y' ); }
112133
113134
114135// -- END OF FILE --
0 commit comments