我的用户输入值作为浮点数(美元和美分),我试图用他们的输入执行准确的计算。为此,我们的目标是将其输入乘以100并将其转换为整数。但是,当我尝试使用cin将其输入作为double时,它无法准确存储,即。如果输入15.03,则该值存储为15.0299999999(基于调试代码)。虽然这对我的测试用例来说不是问题,但我预见到舍入错误导致奇怪问题的极端情况。鉴于我只是执行2个小数点计算,有没有办法绕过这个?我的代码如下:
double ammount_spent;
cin >> ammount_spent;
int cents_spent=100*ammountspent;
cout cents_spent;