Ios 获取介于0和1之间的浮点值
我正在努力获得一个基于百分比的0到1之间的值,即50%表示0.5。问题是,我使用的是以下两个值,它似乎总是返回0 即使xPosition和yPosition设置为50%,我仍然得到0Ios 获取介于0和1之间的浮点值,ios,objective-c,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; 有什么想法吗 谢谢1/100是一个整数表达式,它等于0,因此(1/100)*xPosition将始终是0 你可以改变: float x_point = (1
float x_point = (1 / 100) * xPosition;
float y_point = (1 / 100) * yPosition;
有什么想法吗
谢谢
1/100
是一个整数表达式,它等于0
,因此(1/100)*xPosition
将始终是0
你可以改变:
float x_point = (1 / 100) * xPosition;
致:
或者更简单地说:
float x_point = 0.01 * xPosition;
然后将使用浮点运算对其求值,并给出所需的结果。
1/100
是一个整数表达式,它等于0
,因此(1/100)*xPosition
始终为0
你可以改变:
float x_point = (1 / 100) * xPosition;
致:
或者更简单地说:
float x_point = 0.01 * xPosition;
然后,将使用浮点运算对其进行计算,并给出所需的结果。@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|u点=0.5 | y|u点=0.4
@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|u点=0.5 | y|u点=0.4
为了澄清,50%表示
xPosition
和yPosition
为0.5,对吗?基本上xPosition的值在0和100(百分比)之间,因此如果上面的值是(1/100)*50,我应该得到0.5。为了澄清,50%表示xPosition
和yPosition
为0.5,正确吗?基本上xPosition的值在0和100之间(百分比),因此如果上面的值是(1/100)*50,我应该得到0.5。可能值得指出的是,这可以进一步简化为x\u point=xPosition/100.0
@max\ucode>xPosition*0.01,对于处理器来说更可取:D(如果你有兴趣节省几纳秒:D)@Fogmeister也一样;)可能值得指出的是,这可以进一步简化为x_point=xPosition/100.0
@max\ucode>xPosition*0.01对于处理器来说更可取:D(如果你有兴趣节省几纳秒:D)@福格迈斯特也是;)