美文网首页资源干货iOSiOS Developer
NSNumberFormatter超详细介绍

NSNumberFormatter超详细介绍

作者: IAM121 | 来源:发表于2017-03-26 00:25 被阅读1496次

    简介

    最近在项目中用到了NSNumberFormatter,google了很久都没有找到比较好的资料,很多关于NSNumberFormatter的介绍都是很离散的,所以自己只能苦逼的去看文档了,花费了一晚上把NSNumberFormatter的大多数属性都试了一遍。再次自己整理一下自己的成果,最后附上demo。

    属性介绍

    样式篇

    //四舍五入的整数
    NSNumberFormatterNoStyle
    //小数形式
    NSNumberFormatterDecimalStyle
    注意: 不做任何处理大多数情况下默认显示小数点后的3位
    12345.7181 显示 12345.718 56.0101则显示成 56.01
    56.0006则显示成 56 56.0106则显示成 56.01 56.0116则显示成 56.012 官方文档在中说的1234.5678显示1234.5678,我试过很多遍都是1234.568,这是我存在的一个疑问。(如果有知道的原因的,可以在评论中告诉我)
    //本地化(货币形式数字前面加$)
    NSNumberFormatterCurrencyStyle
    // 百分数形式
    NSNumberFormatterPercentStyle
    // 科学计数方式
    NSNumberFormatterScientificStyle
    //朗读形式
    numberSpellOutStyleStr

    前后缀篇

    //添加前缀
    positivePrefix
    //添加后缀
    positiveSuffix
    //如果是负数的时候的前缀 用这个字符串代替默认的"-"号
    negativePrefix
    //接收器用作负值的后缀的字符串
    negativeSuffix

    更改原始符号篇

    //接收器用来更改百分比符号的字符串(默认是"%")
    percentSymbol
    //接收器用来更改千分比符号的字符串(默认是"‰")
    perMillSymbol
    //接收器用来更改减号的字符串(默认是"-")
    minusSign
    //接收器用来更改加号的字符串(默认是"+")
    plusSign
    //接收器用来更改指数符号的字符串(默认是"E")
    exponentSymbol
    //更改货币分组分割符号(默认是",")
    currencyGroupingSeparator
    注:上面属性只在numberStyle是 kCFNumberFormatterCurrencyStyle下有用
    //更改小数点样式(默认是".")
    decimalSeparator
    //更改数值是0的样式(千万别误解成将数据中的带有的0全部更改仅仅只有数值的0的时候)
    zeroSymbol

    分割尺寸篇

    //设置组大小
    groupingSize
    例:数字分割的尺寸 就比如数字越多1234 为了方便就分割开 1,234(这个分割的大小是3) 从后往前数的。
    //设置第二组大小
    secondaryGroupingSize
    例:一些区域允许较大的数字的另一个分组大小的规范。例如,有些地方可能代表一个数字如61,242,378.46(在美国)
    作为6,12, 42378.46。在这种情况下,二次分组大小(覆盖小数点最远的数字组)为2
    注:小数点前的(大于零的部分),先从右往左分割groupSize的,如果剩余的在按照secondaryGroupingSize的大小来分。例如 123456.789 如果groupingSize= 4 ,secondaryGroupingSize = 2,则表现结果就是
    12,3456.789。

    格式宽度篇

    // 格式宽度
    formatWidth
    例 123,45.6 格式宽度就是 8
    //填充符 格式宽度不够时候用的填充
    paddingCharacter
    //填充符的位置
    paddingPosition
    注:以上三个属性常常连接在一起用的

    舍入篇

    //舍入方式
    roundingMode
    //舍入值
    roundingIncrement
    例: 舍入方式是kCFNumberFormatterRoundHalfUp 舍入值为1 123456.58 变为 123457
    //整数最少几位
    minimumIntegerDigits
    //整数最多几位
    maximumIntegerDigits
    //小数位最多几位数
    maximumFractionDigits
    //小数位最少几位数
    minimumFractionDigits
    //最大值
    maximum
    //最小值
    minimum
    //最少有效数字的位数
    minimumSignificantDigits
    //最多有效数字的位数
    maximumSignificantDigits

    代码地址(Talk is cheap ,show you the code)

    代码地址

    demo.png

    相关文章

      网友评论

      本文标题:NSNumberFormatter超详细介绍

      本文链接:https://www.haomeiwen.com/subject/fgchottx.html