2

我希望使用 NSNumberFormatter 仅在提供的数字上附加一个百分比('%'),而不用乘以 100。

kCFNumberFormatterPercentStyle我不想要的自动罐头x100。

例如,将 5.0 转换为 5.0% 与 500%。

使用以下内容:

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberFormat:@"##0.00%;-##0.00%"];

但是 NSNumberFomatter 中不存在“setNumberFormat”。

我需要将此 NSNumberFormatter 用于我的 Core-Plot 标签。

如何自定义 NSNumberFormat?

里克。

4

2 回答 2

3

资料来源:Apple 的 NSDecimalNumber 参考。

显然我通过说我不希望输出为 100 倍来暗示答案。我正在使用具有“setMultiplier”方法的 NSDecimalNumber。

因此,在我使用罐装 kCFNumberFormatterPercentStyle 作为格式化程序后,
我使用了 'setMultiplier:1',如下所示:

 NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
 [percentFormatter setNumberStyle:kCFNumberFormatterPercentStyle];
 [percentFormatter setMultiplier:[NSNumber numberWithInt:1]];
于 2012-09-13T21:48:49.817 回答
2

您是否尝试过使用setMultiplier来防止它乘以 100?

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberStyle: NSNumberFormatterPercentStyle];
[percentFormatter setMultiplier:1];

如果您只需要添加百分号,则可以使用以下替代方法NSNumberFormatter

[NSString stringWithFormat:@"%3.2f%%", [myNumber doubleValue]];

并且您应该调整精度说明符(3.2)以适应您要显示的位数。

于 2012-09-13T21:36:37.923 回答