获取c中的数字百分比

如何计算int的百分之几?
例如,我想从数字中得到30%,如果我将使用这个代码示例,我会得到错误的答案:
int number = 250;
int result = (number / 100) * 30;

结果将是60,真正的答案是75,有什么方法可以计算出来吗?

解决方法

分开前乘以:
int result = number * 30 / 100;

得到结果的原因是整数类型的除法产生整数结果:250/100是2.如果在除法之前乘以仍然得到整数结果,但至少你没有在中间步骤中丢失数据.如果你必须处理非常大的数字,那么存在溢出int允许的范围的危险.

或者,您可以使用浮点运算,其中除法可以生成整数的分数:

int result = number * 0.30;

这可能会产生unexpected results,所以你最好只使用上面的整数.或写3.0 / 10而不是0.30.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...