27 #include "gnc-session.h" 30 static const std::map<std::string,double> gnc_euro_rates =
54 static std::optional<double>
55 get_euro_rate (
const gnc_commodity * currency)
61 if (it == gnc_euro_rates.end())
70 gnc_is_euro_currency(
const gnc_commodity * currency)
72 return get_euro_rate (currency).has_value();
78 gnc_convert_to_euro(
const gnc_commodity * currency, gnc_numeric value)
80 auto euro_rate = get_euro_rate (currency);
82 return gnc_numeric_zero();
96 gnc_convert_from_euro(
const gnc_commodity * currency, gnc_numeric value)
98 auto euro_rate = get_euro_rate (currency);
100 return gnc_numeric_zero();
113 gnc_euro_currency_get_rate (
const gnc_commodity *currency)
115 auto euro_rate = get_euro_rate (currency);
117 return gnc_numeric_zero();
130 return gnc_commodity_table_lookup (
table, GNC_COMMODITY_NS_CURRENCY,
"EUR");
gnc_commodity_table * gnc_commodity_table_get_table(QofBook *book)
Returns the commodity table associated with a book.
int gnc_commodity_get_fraction(const gnc_commodity *cm)
Retrieve the fraction for the specified commodity.
const char * gnc_commodity_get_mnemonic(const gnc_commodity *cm)
Retrieve the mnemonic for the specified commodity.
gnc_numeric double_to_gnc_numeric(double n, gint64 denom, gint how)
Convert a floating-point number to a gnc_numeric.
QofBook * qof_session_get_book(const QofSession *session)
Returns the QofBook of this session.
gnc_numeric gnc_numeric_mul(gnc_numeric a, gnc_numeric b, gint64 denom, gint how)
Multiply a times b, returning the product.
gnc_numeric gnc_numeric_div(gnc_numeric x, gnc_numeric y, gint64 denom, gint how)
Division.
Round to the nearest integer, rounding away from zero when there are two equidistant nearest integers...
#define GNC_DENOM_AUTO
Values that can be passed as the 'denom' argument.
gboolean gnc_commodity_is_iso(const gnc_commodity *cm)
Checks to see if the specified commodity is an ISO 4217 recognized currency.