我很难根据百分比得到介于0和1之间的值,即50%会显示0.5。问题是我正在使用以下内容,它似乎总是为两个值返回0。
即使将xPosition和yPosition设置为50%,我仍然会得到0;
float x_point = (1 / 100) * xPosition;
float y_point = (1 / 100) * yPosition;
任何想法?
由于
答案 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