获取浮点值介于0和1之间

时间:2014-12-16 11:46:48

标签: ios objective-c

我很难根据百分比得到介于0和1之间的值,即50%会显示0.5。问题是我正在使用以下内容,它似乎总是为两个值返回0。

即使将xPosition和yPosition设置为50%,我仍然会得到0;

float x_point = (1 / 100) * xPosition;
float y_point = (1 / 100) * yPosition;

任何想法?

由于

2 个答案:

答案 0 :(得分:10)

1 / 100是一个等于0的整数表达式,因此(1 / 100) * xPosition始终为0

你可以改变:

float x_point = (1 / 100) * xPosition;

为:

float x_point = (1.0 / 100.0) * xPosition;

或者更简单:

float x_point = 0.01 * xPosition;

然后使用浮点运算对其进行评估,并给出所需的结果。

答案 1 :(得分:1)

@PaulR的答案很棒,但是如果你得到那些数字(1/100)的运行时间,你可能会喜欢这样做,

NSInteger xPosition = 50;
NSInteger yPosition = 40;

float number = 1; //or set runtime
float divider = 100; //or set runtime

float x_point = (number / divider) * xPosition;
float y_point = (number / divider) * yPosition;

NSLog(@"x_point = %.f | y_point = %.f",x_point,y_point);
  

输出:x_point = 0.5 | y_point = 0.4