使用NSNumberFormatterRoundingMode.RoundHalfUp
进行计算时是否有等效到NSDecimalNumber
?
因为我可以看到NSDecimalNumber
只接受4 NSRoundingModes
(通过NSDecimalNumberHandler
):
enum NSRoundingMode : UInt {
case RoundPlain
case RoundDown
case RoundUp
case RoundBankers
}
答案 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。