我正在尝试从传感器读取读数并将其显示为百分比。[某个值] 将始终介于 0 和 1 之间。
这是我的代码:
NSNumber *reading = [some value];
reading = [reading floatValue] * 100;
但是,我得到“从不兼容的浮点类型分配给 NSNumber *_strong”
我是工作 NSNumber 对象的新手,并且很难理解如何将我的传感器读数显示为用户的百分比。例如:75%
谢谢你的帮助
我正在尝试从传感器读取读数并将其显示为百分比。[某个值] 将始终介于 0 和 1 之间。
这是我的代码:
NSNumber *reading = [some value];
reading = [reading floatValue] * 100;
但是,我得到“从不兼容的浮点类型分配给 NSNumber *_strong”
我是工作 NSNumber 对象的新手,并且很难理解如何将我的传感器读数显示为用户的百分比。例如:75%
谢谢你的帮助
您需要将整数或浮点值装箱以将其存储在 NSNumber 中,
作为:
NSNumber *reading = @(10.123);
reading = @([reading floatValue] * 100);
在此之后,您可以将其打印/转换为字符串:
NSString *display=[NSString stringWithFormat:@"%@%%",reading];
注意 %% 双百分比符号
您应该首先将值保留在 float 中,并且需要从中创建 NSNumber。
NSNumber *reading = [NSNumber numberWithFloat:someValue];
float newNum = [reading floatValue] * 100;
reading = [NSNumber numberWithFloat:newNum];
我不喜欢写多行代码,因为我有点懒得写多行代码。我一直在寻找压缩解决方案。请在下面找到以下解决方案。
float testValue=5.00032;
NSString *resultValue=[NSString stringWithFormat:@"%@%%",[NSNumber numberWithFloat:(testValue*100)]];
以上解决方案适用于浮点值。如果您想以整数值提供输入,请将“numberWithFloat”替换为“numberWithInt”。
我希望这个解决方案对您有所帮助。谢谢。