我正在尝试使用分段控件设置浮点数的位数。
所以我用“0”、“1”、“2”和“3”创建了一个分段控件。我想用变量(self._segmentedControl.selectedSegmentIndex
)设置逗号后的数字。
我知道我可以决定逗号后的位数应该是这样的:
sliderValue.text = [NSString stringWithFormat:@"%.3f",slider.value];
有人可以帮帮我吗?
我正在尝试使用分段控件设置浮点数的位数。
所以我用“0”、“1”、“2”和“3”创建了一个分段控件。我想用变量(self._segmentedControl.selectedSegmentIndex
)设置逗号后的数字。
我知道我可以决定逗号后的位数应该是这样的:
sliderValue.text = [NSString stringWithFormat:@"%.3f",slider.value];
有人可以帮帮我吗?
您甚至可以一步完成:
sliderValue.text = [NSString stringWithFormat:@"%.*f", numberOfDigits, slider.value];
您可以分两步执行此操作。
NSString *format = [NSString stringWithFormat:@"%%.%df", numberOfDigits);
sliderValue.text = [NSString stringWithFormat:format, slider.value];
NSString *format = [NSString stringWithFormat:@"%%.%df", numberOfDecimalPlaces];
sliderValue.text = [NSString stringWithFormat:format, slider.value];
这应该可以解决问题。谨防格式字符串攻击。
检查这是否有效。我只用 C++ 对此进行了测试,但由于字符串格式的文档指向IEEE printf 规范,我相信它也应该适用于 Objective-C。
sliderValue.text = [NSString stringWithFormat: @"%.*f", places, slider.value];