常用NSDateFormatter,但少見NSNumberFormatter ,但后者似乎功能更豐富,也更實用。
類方法
/*
eg. 12345.345
NSNumberFormatterNoStyle //四舍五入整數
NSNumberFormatterDecimalStyle //小數形式
NSNumberFormatterCurrencyStyle //本地貨幣樣式,保留兩位小數 $12,345.34
NSNumberFormatterPercentStyle //百分比樣式 1,234,534%
NSNumberFormatterScientificStyle //科學計數樣式 1.2345345E4
NSNumberFormatterSpellOutStyle //朗讀樣式 twelve thousand three hundred forty-five point three four five
iOS 9.0后
NSNumberFormatterOrdinalStyle //序數樣式 12,345th
NSNumberFormatterCurrencyISOCodeStyle //貨幣代碼樣式 USD12,345.34
NSNumberFormatterCurrencyPluralStyle //本地貨幣樣式 12,345.34 US dollars
NSNumberFormatterCurrencyAccountingStyle //會計計數 $12,345.34
*/
NSNumber *number = [NSNumber numberWithDouble:12345.345];
NSString *numberNoStyleStr = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyAccountingStyle];
實例方法
//實例方法
NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];
//舍入值
formatter.roundingIncrement = @10;
formatter.roundingMode = kCFNumberFormatterRoundUp;
NSLog(@"%@",[formatter numberFromString:@""]);
//樣式
formatter.numberStyle = NSNumberFormatterDecimalStyle ;
//寬度,包括前后綴在內的寬度
formatter.formatWidth = 12;
//填充位置符(單個字符)
formatter.paddingCharacter = @"X";
formatter.paddingPosition = NSNumberFormatterDecimalStyle;
/*
NSNumberFormatterPadBeforePrefix
NSNumberFormatterPadAfterPrefix
NSNumberFormatterPadBeforeSuffix
NSNumberFormatterPadAfterSuffix
*/
//后綴
formatter.positiveSuffix = @"元";
//前綴
formatter.positivePrefix = @"¥";
//縮放因子
formatter.multiplier = @10;
//負數樣式
formatter.negativeFormat = @"-";
//正數樣式
formatter.positiveFormat = @"+";
//小數點的樣式
formatter.decimalSeparator = @".";
//零的樣式
formatter.zeroSymbol = @"0";
//設置了這個后,會自動用0補充而不用位置符
//整數的最多/少位數
formatter.maximumIntegerDigits = 100;
formatter.minimumIntegerDigits = 10;
//小數的最多/少位數
formatter.maximumFractionDigits = 10;
formatter.minimumFractionDigits = 7;
NSLog(@"%@",[formatter stringFromNumber:number]);