相关疑难解决方法(0)

为什么浮点数不准确?

为什么有些数字在存储为浮点数时会失去准确性?

例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)的比率,两者都可以用二进制(0b1011100/0b1010)精确表示.但是,存储为浮点数的相同比率永远不会完全等于9.2:

32-bit "single precision" float: 9.19999980926513671875
64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875
Run Code Online (Sandbox Code Playgroud)

这样一个看似简单的数字如何在64位内存中表达"太大" ?

language-agnostic floating-point precision

181
推荐指数
4
解决办法
3万
查看次数

如何在swift中舍入NSDecimalNumber?

我找不到任何资源,我一直在尝试各种各样的东西,但没有任何作用.

根据Apple的文档,你可以像这样围绕NSDecimalNumber:

NSDecimalNumber.decimalNumberByRoundingAccordingToBehavior(<#behavior: NSDecimalNumberBehaviors?#>)
Run Code Online (Sandbox Code Playgroud)

它接受一个NSDecimalNumberBehavior,我不确定如何操作,因为它(1)不能启动到变量并且它的属性已更改,并且(2)根据文档的roundingMode()方法不接受任何参数,但Xcode填写"自我"的参数空间.

我完全迷失了.回到基本问题; 如何在swift中舍入NSDecimalNumber?

提前致谢

xcode nsdecimalnumber swift

11
推荐指数
2
解决办法
5317
查看次数