C++ C++;计算基于赔率的游戏的支付

C++ C++;计算基于赔率的游戏的支付,c++,C++,在过去的几周里,我一直在尝试将一个double(例如2.76)乘以一个int来产生结果,但是最终结果总是四舍五入为一个int,当然,double并不总是足够精确,正如我们已经知道的那样。我不是专家,我从来没有面对过精确的数学,以前用C++我已经习惯了PHP。正如我确信的那样,被问得太多了(我在这里搜索过,但没有找到任何解决方案——也许我没有正确理解它);有人愿意帮忙吗 示例代码: #include <stdio.h> #include <iostream> #includ

在过去的几周里,我一直在尝试将一个double(例如2.76)乘以一个int来产生结果,但是最终结果总是四舍五入为一个int,当然,double并不总是足够精确,正如我们已经知道的那样。我不是专家,我从来没有面对过精确的数学,以前用C++我已经习惯了PHP。正如我确信的那样,被问得太多了(我在这里搜索过,但没有找到任何解决方案——也许我没有正确理解它);有人愿意帮忙吗

示例代码:

#include <stdio.h>
#include <iostream>
#include <cmath>

double decdouble = 2.72;
int multiby = decdouble * 10127;
couut << "Result: " << multiby << endl;
#包括
#包括
#包括
双decdouble=2.72;
int multiby=DECDOULE*10127;

cout对于乘法,需要使用double而不是int,因为int返回的数字与乘法中的int最接近

#include <iostream> /// you don't really need the other libraries you included

using namespace std; /// use this namespace to avoid std:: for each line

int main() /// if you want your code to run, add it in the main() function
{
  double decdouble = 2.72;
  double multiby = decdouble * 10127; /// use double, not int for a precise result
  cout <<"Result: "<< multiby << endl;
  return 0;
}
#include///您并不真正需要包含的其他库
使用命名空间std;///使用此名称空间可以避免每行的std::
int main()///如果希望代码运行,请将其添加到main()函数中
{
双decdouble=2.72;
double multiby=decdouble*10127;///使用double,而不是int来获得精确的结果

cout
int multiby=decdouble*10127;
您正在将其分配给一个
int
,这就是舍入发生的地方。将其分配给一个
double
,您将得到一个更预期的结果-
double multiby=decdouble*10127;
“我们已经知道,double并不总是足够精确”对什么不够精确?你说的“精确数学”是什么意思?请解释你的答案。不要只是转储代码然后说“试试这个”@zero298现在可以了吗?谢谢你告诉我是的,谢谢。说实话,很难区分你原来的代码和OP的代码之间的区别。你甚至可能想在这行上添加一条注释来明确说明。谢谢,我刚刚开始使用stackoverflow来帮助他人,我会记住这一点