如何计算int的百分之几?
例如,我想从数字中得到30%,如果我将使用这个代码示例,我会得到错误的答案:
例如,我想从数字中得到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.
原文地址:https://www.jb51.cc/c/112518.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。