Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch NSNumberFormatter自定义?_Cocoa Touch_Cocoa - Fatal编程技术网

Cocoa touch NSNumberFormatter自定义?

Cocoa touch NSNumberFormatter自定义?,cocoa-touch,cocoa,Cocoa Touch,Cocoa,我希望使用NSNumberFormatter仅将百分比(“%”)附加到提供的数字上,而不将其乘以100 罐装的kCFNumberFormatterPercentStyle会自动生成x100,这是我不想要的 例如,将5.0%转换为5.0%,而不是500% 使用以下命令: NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init]; [percentFormatter setNumberFormat:@"##0.00%

我希望使用NSNumberFormatter仅将百分比(“%”)附加到提供的数字上,而不将其乘以100

罐装的
kCFNumberFormatterPercentStyle
会自动生成x100,这是我不想要的

例如,将5.0%转换为5.0%,而不是500%

使用以下命令:

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberFormat:@"##0.00%;-##0.00%"];
但NSNumberFormat中不存在“setNumberFormat”

我需要将此NSNumberFormatter用于核心打印标签

如何自定义NSNumberFormat


Ric.

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

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberStyle: NSNumberFormatterPercentStyle];
[percentFormatter setMultiplier:1];
如果只需添加百分号,则使用
NSNumberFormatter
的替代方法是:

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

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

来源:苹果的NSDecimalNumber参考

显然,我暗示了答案,说我不希望输出是100倍。 我正在使用一个NSDecimalNumber,它有“setMultiplier”方法

因此,在我为格式化程序使用固定的kCFNumberFormatterPercentStyle之后,
我使用了“set乘数:1”,如下所示:

 NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
 [percentFormatter setNumberStyle:kCFNumberFormatterPercentStyle];
 [percentFormatter setMultiplier:[NSNumber numberWithInt:1]];