Cocoa touch NSNumberFormatter自定义?
我希望使用NSNumberFormatter仅将百分比(“%”)附加到提供的数字上,而不将其乘以100 罐装的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%
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]];