美好的一天!我正在建立一个全球货币兑换商。
const string currency_name[MAX_CURRENCY] =
{
"Euro",
"Pound",
"Dollar",
};
const double exchange_rate[MAX_CURRENCY][MAX_CURRENCY] =
{
{ 1, 0.795833, 1.33943 }, // Euro->Euro, Euro->pound, euro->dollar
{ 1.25657, 1, 1.68296 }, // Pound->Euro, Pound->Pound, Pound->Dollar
// will add 15 by 15 global currency exchange
};
我正在使用这个。
有没有比这更简单的解决方案??
答案 0 :(得分:0)
将货币汇率定义为数据类型是一个好主意。而且我没有看到其他数据类型可能比简单矩阵更适合。所以,你的解决方案没问题。
答案 1 :(得分:0)
选择一种货币作为"参考货币"。
然后,无论您拥有多少种货币,您都只需要与此进行转换
您也可以将自己限制在一个方向,因为很容易找到反向。
示例:
enum Currency
{
Euro,
Pound,
Dollar,
...
};
// The conversion rate into Euro.
const float euroRates[] = { 1.0, 1.25657, ... };
float into_euro(float amount, Currency c) { return amount * euroRates[c]; }
float from_euro(float amount, Currency c) { return amount / euroRates[c]; }
float convert(float amount, Currency from, Currency to)
{
return from_euro(into_euro(amount, from), to);
}