如果我将5 USD转换为欧元,应该是4.45或4欧元和45美分 问题是我得到4和0.55而不是0.45,还是有办法得到45美分?
enter code here
int main() {
double usd = 0, euro = 0;
double fixeuro = 0.89;
cout << "Please add amount to convert it\n";
cin >> usd;
int conv = usd * fixeuro;
cout << conv << "\n";
cout << fmod(usd,fixeuro);
return 0;}
答案 0 :(得分:0)
获取正确金额的方法是double conv = usd * fixeuro;
,然后,如果您只想获取欧元,那就是int euros = conv;
,而只想获取欧元分是int eurocents = 100 * (conv - euros);
,或者,如果您愿意,可以使用100 * fmod(conv, 1.0)
。
fmod(usd,fixeuro)
似乎没有任何明显的含义。当您有5美元并开始一次扔掉精确的89美分直到您的收入少于89美分时,这就是剩下的。 89美分并不等于任何有趣的欧元金额,而美分也不是欧元美分,因此目前尚不清楚您从中得到什么。