系统常用
NSNumber *number1 = @123456789;
NSNumber *number2 = @123.456789;
NSNumber *number3 = @(YES);
NSString *str1 = [NSNumberFormatter localizedStringFromNumber:number1
numberStyle:NSNumberFormatterDecimalStyle];
/*
typedef NS_ENUM(NSUInteger, NSNumberFormatterStyle) {
NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,四舍五入
NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,金额 100,200,300.123
NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,货币 $100,200,300.12
NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,百分比 12%
NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,科学计数法 1.234E8
NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle,口语 One...
NSNumberFormatterOrdinalStyle NS_ENUM_AVAILABLE(10_11, 9_0) = kCFNumberFormatterOrdinalStyle,
NSNumberFormatterCurrencyISOCodeStyle NS_ENUM_AVAILABLE(10_11, 9_0) = kCFNumberFormatterCurrencyISOCodeStyle,
NSNumberFormatterCurrencyPluralStyle NS_ENUM_AVAILABLE(10_11, 9_0) = kCFNumberFormatterCurrencyPluralStyle,
NSNumberFormatterCurrencyAccountingStyle NS_ENUM_AVAILABLE(10_11, 9_0) = kCFNumberFormatterCurrencyAccountingStyle,
};
*/
NSString *str2 = [numberFormatter stringFromNumber:number2];
NSNumber *number4 = [numberFormatter numberFromString:str1];
自定义
NSNumber *number = @123456789.123456789;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.numberStyle = kCFNumberFormatterNoStyle;//
numberFormatter.positiveFormat = @"-¤#,##0.00";// 类似dateFormatter
numberFormatter.formatWidth = 20; // 数据宽度为20,
numberFormatter.paddingCharacter = @"a";// 不足前面补 a
numberFormatter.locale = [NSLocale currentLocale];// 本地化
numberFormatter.generatesDecimalNumbers = NO;// 默认 NO,YES-转换成 NSNumber 方法会转换成 NSDecimalNumber
// if ([[numberFormatter numberFromString:str] isKindOfClass:[NSDecimalNumber class]]) {
// NSLog(@"NSDecimalNumber");
// } else if ([[numberFormatter numberFromString:str] isKindOfClass:[NSNumber class]]) {
// NSLog(@"NSNumber");
// }
// NSDecimalNumber *dnumber = (NSDecimalNumber *)[numberFormatter numberFromString:str];
NSString *str = [numberFormatter stringFromNumber:number];
NSLog(@"%@",str);
其他
关于自定义数字格式化属性,还有好多东东。我也没研究,暂时用上面的能凑活用了。要是再用到,再来补充。
1