整数之间的计算

时间:2015-01-06 23:19:23

标签: objective-c math integer

我正在尝试计算两个整数,喜欢和不喜欢之间的比率。它似乎返回0而不是我应该在我的计算器中得到的数字。我做错了什么?

int likes = 200;
int dislikes = 100;
float ratio = (likes / 2000) * ((likes / likes) + dislikes) * 100;

2 个答案:

答案 0 :(得分:2)

整数不能代表分数,这就是它们整数的原因。使用整数进行除法会丢弃余数,因此如果您尝试将较小的整数除以较大的整数,则得到0.您正在尝试将它们转换为浮点数时处于正确的轨道上,但您当前的实现会对转换前的整数值。在进行计算之前,您需要将likesdislikes转换为float值。

答案 1 :(得分:0)

变化:

int likes = 200;
int dislikes = 100;
float ratio = (likes / 2000) * ((likes / likes) + dislikes) * 100;

为:

float likes = 200;
float dislikes = 100;
float ratio = (likes / 2000) * ((likes / likes) + dislikes) * 100;

或在像这样进行分割之前施放它

int likes = 200;
int dislikes = 100;
float ratio = ((float)likes / 2000) * (((float)likes / likes) + dislikes) * 100;

更新:在评论

中指出固定拼写错误