nsdecimalnumber相关内容

如何在 NSDecimalNumber 中存储 1.66

我知道 float 或 double 不适合存储十进制数,如货币和数量.我正在尝试使用 NSDecimalNumber 代替.这是我在 Swift playground 中的代码. let number:NSDecimalNumber = 1.66让文本:字符串 = 字符串(描述:数字)NSLog(文本) 控制台输出为 1.6599999999999995904 如何将十进制数 1.66 ..
发布时间:2021-12-02 16:19:30 移动开发

iOS 8 数字转换/格式错误?(无法复制)

以下方法从 UITextField 获取输入并将其格式化以进行显示.这段代码多年来一直完美运行,但刚刚在使用 iOS 8.1 的 iPhone 6 Plus 上报告了一个问题.用户每次都会发生这种情况,但我无法重现它.我相信这与 iOS 8 上的 NSNumber/NSDecimalNumber 转换和格式有关,也许是针对 64 位应用程序/设备. 用于输入的键盘是数字小键盘,因此可以在文本 ..
发布时间:2021-11-25 06:46:29 C#

NSDecimalNumber 圆整长数

我正在尝试让 NSDecimalNumber 打印出大数字、15 位或更多位数字.在 15 位数字时,我看到 111,111,111,111,111.超过 15 位数字我看到 1,111,111,111,111,110,即使格式化的数字是 1111111111111111. 一个例子来说明我的问题: NSNumberFormatter *formatter = [[NSNumberForm ..
发布时间:2021-06-10 19:12:52 其他开发

NSDecimalNumber到NSDecimalNumber的幂

我有两个NSDecimalNumbers,我需要将一个应用于其他幂,最初此代码使用的是double,我可以使用pow()函数来计算此值,如下所示: double result = pow(value1,value2); 我遇到的问题是我正在转换代码以使用NSDecimalNumbers,尽管它们包括toThePowerOf方法,但它仅接受int值.目前,我唯一需要解决的问题是临时转换NSD ..
发布时间:2021-05-31 20:48:23 移动开发

为什么从包含字母的字符串中快速返回十进制数?

我正在使用Swift的Decimal类型,试图确保用户输入的String是有效的Decimal. 我的Playground文件中有两个String值,每个值包含一个字母.其中一个值的开头是字母,另一个值的末尾是字母.我使用每个值初始化一个Decimal,只有一个Decimal初始化失败. Decimal初始化为开头包含字母的值. 为什么用结尾处包含字母的值初始化的Decimal返回有效 ..
发布时间:2020-07-01 20:45:39 移动开发

从`NSDecimal`或`NSDecimalNumber`转换为C#的`decimal`类型

我从StoreKit的SKProduct类中得到了一个NSDecimalNumber,我想将其转换为C#的decimal类型,以最大程度地减少精度损失.有没有一种简单的方法可以做到这一点? 我认为我的两个选择是: 假设我了解每种格式的二进制实现并进行自己的按位转换,或者 让NSDecimalNumber给我一个字符串,然后让decimal解析它. 我认为选项1的工作量太大,甚至 ..
发布时间:2020-07-01 20:45:32 C#/.NET

NSDecimalNumber(x).intValue返回-2、0、15和199,具体取决于x中的小数位数(x = 199.999 ... 5)

我们在业务逻辑中发现了一个有趣的案例,该案例完全破坏了我们的逻辑,并且我们不理解为什么NSDecimalNumber和Decimal的行为方式如此. 我的案件游乐场如下: import Foundation let pQuantity = Decimal(string: "0.2857142857142857")! let pPrice = Decimal(string: "7.00 ..
发布时间:2020-07-01 20:45:29 移动开发

如何快速舍入NSDecimalNumber?

我在此上找不到任何资源,我一直在尝试各种方法,但是没有任何效果. 根据Apple的文档,您将NSDecimalNumber如下舍入: NSDecimalNumber.decimalNumberByRoundingAccordingToBehavior() 它包含一个NSDecimalNumberBehav ..
发布时间:2020-07-01 20:44:18 移动开发

如何在NSDecimalNumber中存储1.66

我知道float或double不能很好地存储货币和数量等十进制数字.我正在尝试使用NSDecimalNumber代替.这是我在Swift操场上的代码. let number:NSDecimalNumber = 1.66 let text:String = String(describing: number) NSLog(text) 控制台输出为1.6599999999999995904 ..
发布时间:2020-07-01 20:43:15 移动开发

Swift的小数精度问题

根据文档此处,Swift 3/4十进制类型是一种表示形式在以10为基数桥接到NSDecimalNumber.但是,我遇到了使用NSDecimalNumber时无法重现的精度问题. let dec24 = Decimal(integerLiteral: 24) let dec1 = Decimal(integerLiteral: 1) let decResult = dec1/dec24*de ..
发布时间:2020-06-12 19:25:09 移动开发

什么时候使用NSDecimal,NSDecimalNumber而不是double更好?

对于简单的用途(例如跟踪65.1kg之类的重量值),使用NSDecimal/NSDecimalNumber超过两倍有什么好处吗? 我在这里的理解是,在这种情况下,双精度(甚至是浮点数)提供了足够的精度.如果我错了,请纠正我. 解决方案 首先,阅读Josh Caswell的链接.当与钱一起工作时,这一点尤其重要.对于您而言,这可能很重要,也可能无关紧要,具体取决于您的目标.如果输入65 ..
发布时间:2020-06-12 19:22:18 移动开发

在iPhone开发中创建自动发布对象

我需要创建一些NSDecimalNumber对象对象作为我的应用程序的一部分(因为我需要它们提供的计算精度),但是我注意到在计算中它们返回了NSDecimalNumber对象,这些对象大概是自动释放的. 我的问题确实是这在iPhone应用程序中是否可能存在问题,在该应用程序中我可能会进行大量计算. 这个问题不仅与NSDecimalNumber有关,而且与在开发iPhone应用程序过程中 ..
发布时间:2020-05-08 19:58:47 移动开发