c++ - 如何在 double 变量中划分两个整数?

标签 c++

<分区>

我正在为学校设计一个实验室,该实验室运行 10 条 10000 手 5 张手牌的轨迹。我必须在每手牌中找到同花和对子。我必须找到每条线索的对子和同花的百分比。

例如,我的问题是当我尝试获取一对单一轨迹的百分比时

double percent =  total_pairs/10000;

double percent = 5600/10000;

当我想打印出 2 个小数位时,我的输出变为 0 我得到以下内容

0.00

使用这段代码

cout<<setiosflags(ios::fixed | ios::showpoint);
cout<<setprecision(2)<<percent<<endl;

但我仍然得到零,当我像这样转换时我得到实际数字

double percent = (double) 5600/10000;

这是正确的吗,因为我不希望它截断我的输出或者我是否遗漏了什么

希望你能理解我。

最佳答案

是的,是这样的,下面进行整数除法。然后将结果 (0) 转换为 double 。

double percent = 5600/10000

下面的线将 5600 强制为双数,所以现在您有了双数的实际划分

double percent = (double) 5600/10000

如果您的数字之一是常量,您只需确保使用十进制格式来强制进行浮点除法:

double percent = 5600.0/10000

我有时使用的另一个技巧是乘以 1.0,将后面的内容转换为 double :

double percent = 1.0 * inta / intb

关于c++ - 如何在 double 变量中划分两个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/568218/

相关文章:

c++ - 类 "classname"没有成员 "function"

c++ - 我编写的一个简单函数发生段错误

c++ - 除了分配和 ctor 调用之外,C++ new 运算符还做什么?

c++ - QStandardItem 中的上标文本

c++ - 如何应用样条基矩阵?

Android与C++套接字通信

c++ - C++显式转换真的那么糟糕吗?

c++ - 可能影响功能所用时间的事情

c++ - 从 C++ 在 QML 中设置对象类型属性

c++ - 在Qt中,如何使用定时器来启用/禁用一个功能?