我想将小数NSNumber
转换为int
或其他我可以用数学形式的形式。这是我项目的带注释的代码:
NSNumber *Left = [left valueForOutputKey:@"Y"];
此行获取Quartz Composer Outlet,通常值约为0.512。
基本上,我想将此乘以10,然后执行一些操作,例如大于和小于查看它所在的范围。
答案 0 :(得分:3)
由于看起来您正在处理小数组件,因此您希望将其转换为浮点数或双精度来执行操作,具体取决于您期望该值的大小。浮动应该没问题,除非你处理的是大量或精确的数字。这是它的外观,例如:
float lValue = [[left valueForOutputKey:@"Y"] floatValue];
lValue *= 10;
if (lValue < 10) {
// do whatever
}
else if (lValue > 50) {
// do whatever
}
然后将值存回您的插座或其他任何东西,然后将其打包回NSNumber:
NSNumber *newValue = [NSNumber numberWithFloat:lValue];
[left setValue:newValue forKey:@"Y"];
您可能必须将newValue转换为字符串才能在控件中显示它,只需使用[newValue stringValue]即可。
答案 1 :(得分:1)
使用NSNumber
的一种方法:
int leftInt = [Left intValue];
float leftFloat = [Left floatValue];
double leftDouble = [Left doubleValue];