C++ C++;,将浮点/双精度转换为整数时丢失1?
我想计算应付的零钱,并把它转换成便士C++ C++;,将浮点/双精度转换为整数时丢失1?,c++,type-conversion,C++,Type Conversion,我想计算应付的零钱,并把它转换成便士 #include <iostream> using namespace std; int main() { float cost = 5.15, paid = 10.00, change = 0.0; int pennies = 0.0; change = paid - cost; pennies = static_cast<int>(change
#include <iostream>
using namespace std;
int main()
{
float cost = 5.15,
paid = 10.00,
change = 0.0;
int pennies = 0.0;
change = paid - cost;
pennies = static_cast<int>(change * 100);
cout << change << endl; //4.85
cout << pennies << endl; //484 ??
return 0;
}
#包括
使用名称空间std;
int main()
{
浮动成本=5.15,
已付=10.00,
变化=0.0;
整数便士=0.0;
变更=已付-成本;
便士=静态铸币(变化*100);
不能使用………..我会把“应该在评论部分的答案”记500分钟Alex@CoryKramer我说的有什么不对或不适合回答吗?OP有一个截断问题,将通过舍入而不是截断来解决。哦,你的“500 Alex”让我迷路了…这是什么意思?@PeterSchneider有一个明确的接近的原因,它说“这是一个只链接的答案”,这对任何人都没有用处。作为一个完整、独立的答案,你可以添加如何使用std::round
来解决他们的问题。你必须填充“答案”这一事实使用填充字符应该会让你知道你太简短了。我其余的评论是一个拙劣的笑话,引用了“Jeopardy”@CoryKramer Hm。我认为带链接的“round”一词应该会激发洞察的乐趣?用法似乎很简单。--500亚历克斯:哦:-)。