Nal*_*aan 11 xcode nsdecimalnumber swift
我找不到任何资源,我一直在尝试各种各样的东西,但没有任何作用.
根据Apple的文档,你可以像这样围绕NSDecimalNumber:
NSDecimalNumber.decimalNumberByRoundingAccordingToBehavior(<#behavior: NSDecimalNumberBehaviors?#>)
Run Code Online (Sandbox Code Playgroud)
它接受一个NSDecimalNumberBehavior,我不确定如何操作,因为它(1)不能启动到变量并且它的属性已更改,并且(2)根据文档的roundingMode()方法不接受任何参数,但Xcode填写"自我"的参数空间.
我完全迷失了.回到基本问题; 如何在swift中舍入NSDecimalNumber?
提前致谢
NSDecimalNumberBehaviors
是协议,因此无法实例化.您需要符合协议的类的对象.Apple NSDecimalNumberHandler
为此目的提供了类,例如:
let handler = NSDecimalNumberHandler(roundingMode: NSRoundingMode.RoundBankers, scale: 0, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: false)
let rounded = dec.decimalNumberByRoundingAccordingToBehavior(handler)
Run Code Online (Sandbox Code Playgroud)
该scale
参数是要小数,即数量,0
四舍五入为整数.
你可以这样做
let x = 5
let y = 2
let total = x.decimalNumberByDividingBy(y).decimalNumberByRoundingAccordingToBehavior( NSDecimalNumberHandler(roundingMode: NSRoundingMode.RoundUp, scale: 0, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: false))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5317 次 |
最近记录: |