大佬教程收集整理的这篇文章主要介绍了如果为0,则ios numberformatter currency删除尾随小数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
25.00 => $25 25.43 => $25.43 25.4 => $25.40 0.00 -> $0
有没有办法在NSnumberFormatter中执行此操作?
这是我现在的代码:
NSnumberFormatter *fmt = [[NSnumberFormatter alloc] init]; [fmt setnumberStyle:NSnumberFormatterCurrencyStyle]; [fmt setCurrencyCode:@"USD"];
我也尝试过:
NSnumberFormatter *fmt = [[NSnumberFormatter alloc] init]; [fmt setPositiveFormat:@"$0.##"];
然而,我的第三个案件失败了.有什么建议?
@interface MyCurrencyFormatter : NSnumberFormatter @end @implementation MyCurrencyFormatter - (id)init { if ((self = [super init])) { [self setnumberStyle:NSnumberFormatterCurrencyStyle]]; [self setCurrencyCode:@"USD"]; } return self; } - (NSString *)StringFromnumber:(NSnumber *)anumber { NSInteger minimumFractionDigits = [self minimumFractionDigits]; NSInteger maximumFractionDigits = [self maximumFractionDigits]; if ([self isInteger:anumber]) { [self setMinimumFractionDigits:0]; [self setMaximumFractionDigits:0]; } NSString *formattednumber = [super StringFromnumber:anumber]; [self setMinimumFractionDigits:minimumFractionDigits]; [self setMaximumFractionDigits:maximumFractionDigits]; return formattednumber; } - (BOOL)isInteger:(NSnumber *)anumber { NSdecimal decimalValue = anumber.decimalValue; NSdecimalround(&decimalValue,&decimalValue,NSRoundDown); NSdecimalnumber *roundedValue = [[NSdecimalnumber alloc] initWithdecimal:decimalValue] return [anumber isEqualTonumber:roundedValue]; } @end
这也应该处理国际号码格式.
归功于this post以确定数字是否为整数.
以上是大佬教程为你收集整理的如果为0,则ios numberformatter currency删除尾随小数全部内容,希望文章能够帮你解决如果为0,则ios numberformatter currency删除尾随小数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。