NSNumberFormatter

參考文檔

常用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]);


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • 原文鏈接:http://blog.csdn.net/mumubumaopao/article/details/50...
    吃大米的小螞蟻閱讀 1,877評論 0 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,368評論 25 708
  • 你不在的時候多 那是真的不在 但仿佛又不是真的不在 你不在的時候我會一直想你 現在你還是不在 與之前不同的是 我找...
    云尚三閱讀 99評論 0 0
  • 爸爸躺在床上,我給他聽歌,和他一起唱《我的祖國》。 鄰床的人說,如果這個女兒天天在,他很快就好了。 我想留下,可是...
    靜皈之閱讀 153評論 0 0