NSDecimalNumber是否有等​​效的RoundHalfUp?

时间:2015-11-15 21:46:19

标签: ios swift

使用NSNumberFormatterRoundingMode.RoundHalfUp进行计算时是否有等效NSDecimalNumber

因为我可以看到NSDecimalNumber只接受4 NSRoundingModes(通过NSDecimalNumberHandler):

enum NSRoundingMode : UInt {
  case RoundPlain
  case RoundDown
  case RoundUp
  case RoundBankers
} 

1 个答案:

答案 0 :(得分:0)

根据NSNumberFormatterRoundingMode Class Reference

  

NSNumberFormatterRoundHalfUp

     

向最近的整数舍入,如果等距,则向零舍入。

含义1.5将舍入为2,如果距离0比-1更远,-1.5将舍入为-2,为-2。

根据NSRoundingMode - NSDecimalNumberBehaviors Protocol Reference

  

NSRoundPlain

     

舍入到最接近的可能返回值;当被捕到两个正数之间时,向上舍入;夹在两者之间   负数,向下舍入。

他们将示例1.25舍入为1.3,-1.35将舍入为-1.4。

它们在功能上是等同的。如果你想要完全相同的行为,请将roundingMode设置为NSRoundMode.RoundPlain并缩放为0。