(NumberFormatter.RoundingMode)NSNumberFormatterRoundingMode详解

2017-01-14 10:02:42来源:http://www.jianshu.com/p/2b4a5b91aa16作者:xiAo__Ju人点击

enum RoundingMode : UInt {
case ceiling
case floor
case down
case up
case halfEven
case halfDown
case halfUp
}

ceiling


官方描述:Round towards positive infinity.(回到正无穷)



ceiling.png
        let formatter = NumberFormatter()
formatter.roundingMode = .ceiling
formatter.string(from: -1.1) // -1
formatter.string(from: 1.1) // 2

当为正数时,向远离0的地方进位,当为负数时,向离靠近0的地方进位


floor


官方描述:Round towards negative infinity.(向负无穷大舍入)



floor.png
         let formatter = NumberFormatter()
formatter.roundingMode = .floor
formatter.string(from: -1.1) // -2
formatter.string(from: 1.1) // 1

当为负数数时,向远离0的地方进位,当为正数时,向离靠近0的地方进位


down


官方描述:Round towards zero.(向零舍入)



down.png
        let formatter = NumberFormatter()
formatter.roundingMode = .down
formatter.string(from: 1.99) // 1
formatter.string(from: -1.1) // -1

向靠近0的地方舍入


up


官方描述:Round away from zero.(从零舍弃)



up.png
        let formatter = NumberFormatter()
formatter.roundingMode = .up
formatter.string(from: 0.01) // 1
formatter.string(from: -1.1) // -2

向远离0的地方进位


halfEven


官方描述:Round towards the nearest integer, or towards an even number if equidistant.(向最接近的整数,或偶数的等距离)



halfEven.png
        let formatter = NumberFormatter()
formatter.roundingMode = .halfEven
formatter.string(from: 0.5) // 0
formatter.string(from: 1.5) // 2
formatter.string(from: -0.5) // -0
formatter.string(from: -1.5) // -2

在0.5,-0.5时,向0舍入。其他情况见图


halfDown


官方描述:Round towards the nearest integer, or towards zero if equidistant.(向最接近的整数舍入,或如果等距离则向零)



halfDown.png
        let formatter = NumberFormatter()
formatter.roundingMode = .halfDown
formatter.string(from: 0.5) // 0
formatter.string(from: 0.51) // 1
formatter.string(from: 1.5) // 1
formatter.string(from: 1.51) // 2
formatter.string(from: -0.5) // -0
formatter.string(from: -0.51) // -1
formatter.string(from: -1.5) // -1
formatter.string(from: -1.51) // -2

向最近的整数进位,当刚好在中间时,向小的方向退位


halfUp


官方描述:Round towards the nearest integer, or away from zero if equidistant.(向最接近的整数舍入,或如果等距离,则离开零)



halfUp.png
        let formatter = NumberFormatter()
formatter.roundingMode = .halfDown
formatter.string(from: 0.5) // 1
formatter.string(from: 0.51) // 1
formatter.string(from: 1.5) // 2
formatter.string(from: 1.51) // 2
formatter.string(from: -0.5) // -1
formatter.string(from: -0.51) // -1
formatter.string(from: -1.5) // -2
formatter.string(from: -1.51) // -2

在(0.5,-0.5)(开区间)时,向0舍入。其他情况见图




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台