如何计算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;
不过,这可能会产生意想不到的结果,因此最好不要像上面那样使用整数。或者用3.0/10
代替0.30
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句