zoukankan      html  css  js  c++  java
  • NSNumberFormatter数字的格式化

    在iOS中我们可以通过NSDateFormatter来设置输出NSDate的格式。相比NSDateFormatter的大名鼎鼎,NSNumberFormatter好像知道的人就不多了。其实通过NSNumberFormatter,同样可以设置NSNumber输出的格式。例如如下代码:

            NSNumberFormatter *formatter = [[NSNumberFormatter allocinit];

            formatter.numberStyle = NSNumberFormatterDecimalStyle;

            NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]];

            NSLog(@"Formatted number string:%@",string);

        输出结果为:[1223:403] Formatted number string:123,456,789

    其中NSNumberFormatter类有个属性numberStyle,它是一个枚举型,设置不同的值可以输出不同的数字格式。该枚举包括:

    enum {

        NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,

        NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,

        NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,

        NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,

        NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,

        NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle

    };

    typedef NSUInteger NSNumberFormatterStyle;

    各个枚举对应输出数字格式的效果如下:

    [1243:403] Formatted number string:123456789

    [1243:403] Formatted number string:123,456,789

    [1243:403] Formatted number string:123,456,789.00

    [1243:403] Formatted number string:-539,222,988%

    [1243:403] Formatted number string:1.23456789E8

    [1243:403] Formatted number string:一亿二千三百四十五万六千七百八十九

    其中第三项和最后一项的输出会根据系统设置的语言区域的不同而不同。

  • 相关阅读:
    mybatis-generator自动生成代码时,只生成insert方法
    elasticsearch-head-master下运行npm install报npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
    fs.default.name和fs.defaultFS
    zookeeper集群为什么要是单数
    Quorom机制
    把数据库放入Docker是一个好主意吗?
    JVM GC算法CMS详解
    JVM之——CMS
    对于TCP/IP协议的三次握手和四次挥手的理解
    JVM G1和CMS
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/2953774.html
Copyright © 2011-2022 走看看