问题标签 [nsdecimalnumber]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 在 NSDecimalNumber 方面需要帮助
我正在尝试使用我拥有的 NSDecimalNumber,并将其乘以 1.1。
我有这个,但它不起作用:
更新:
这是整个代码,有谁知道它为什么不起作用?
在乘法行崩溃,出现错误:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell decimalNumberByMultiplyingBy:]: unrecognized selector sent to instance 0x5d91a60'
iphone - 获取 NSDecimalNumberOverflowException 错误
我在 line: 处遇到错误if (! [self.event.managedObjectContext save:&error])
。只有当用户没有在 textField 中输入另一个数字时才会发生这种情况,所以它是0
.
ios - NSNumberFormatter 不接受小数点后的零
有人问过类似的问题,但我发现提供的解决方案不适用于最新的 iOS SDK,或者不完全适用于这种特殊情况。
我使用 NSNotification 调用一个方法,该方法在 UILabel 中使用分组符号格式化数字,因为它是使用按钮输入中的数字输入的。它也适用于整数和小数——只要小数点后没有输入零。例如,如果输入 2000,它会显示为 2,000,因为它输入得很好。如果输入 23.345,也显示得很好。对这些数字进行的任何计算都是正确的。但是不能输入0.0001或者0.2340007!它只是不会在小数点后附加任何零。
我从 stackoverflow 的另一篇文章中得到了原始代码的想法:
格式化程序的参数没有多少(我已经尝试过)允许在小数点后输入零。
objective-c - 大整数上的 SBJSONParser
我正在使用 json-framework 来解析 iPhone 项目中的 JSON 数据。但是json数据中有很大的数字,比如10432159274,会导致NSNumber溢出。在 SBJsonParser.h 中,文档说 JSON 中的数字将转换为 NSNumber 或 NSDecimalNumber。如何使用它,以便将大整数解析为 NSDecimalNumber?谢谢。
ios - NSDecimalNumberPlaceHolder 泄漏
我有一个 iPad 应用程序,在进行 beta 测试之前,我正在 Instruments 中进行测试。我已经摆脱了除了一个之外的所有内存泄漏,我找不到任何关于它的信息。我不知道该怎么做,因为我的代码从未提到泄漏对象,它是 NSDecimalNumberPlaceHolder 的一个实例。
当然我使用的是 NSDecimalNumber。我为每个用户操作创建 2 个小数,每次我运行一个应用程序周期(它对两个 NSDecimalNumbers 执行一些数学运算)我生成这个 NSDecimalPlaceHolder 事物的四个实例。由于我不知道它是如何创建的,因此我不知道如何释放或释放它,以免一遍又一遍地产生这 16 个 btye 泄漏。
这些可能不是真正的泄漏吗?
我已经运行了 XCode Analyzer,它没有报告任何问题。
我正在做的是这样的:
我将一个十进制数从我的控制器发送到我的模型(analyzer_),它执行操作并发回结果。
setOperand 方法如下所示:
}
请注意,如果我不保留操作数_“某处”,我会遇到 BAD_ACCESS 崩溃。我目前在操作数和之前提供的操作数(queuedOperand_)被操作的地方保留并释放它。例如:
其中 performQueuedOperation 是:
如果不清楚,请告诉我。谢谢。
macos - 传递给 NSDecimalNumber +decimalNumberWithString:locale: 的语言环境参数是什么,所以它总是与使用点 (.) 小数点的 NSString 一起工作?
我有一个 NSString ,我想将其转换为NSDecimalNumber
. 该字符串是从服务器接收的,并且始终使用en_US
区域设置 likeXXX.YYY
和 not like进行格式化XXX,YYY
。无论用户的语言环境如何,我都想创建一个NSDecimalNumber
接受的。XXX.YYY
该数字永远不会向用户显示,它用于进行内部数学运算。
通常你会做这样的事情:
但是,如果用户正在运行fr_FR
Mac OS X 的语言环境,那将会中断。en_US
将其解释为点二三四,其中-asfr_FR
将其解释为一千二百三十四,两者都是非常不同的数字。
显而易见的解决方案是使用+decimalNumberWithString:locale:
. 但我不确定将什么作为参数传递给locale:
适用于所有国际版本的 Mac OS X 的参数。我最好的猜测是这样做:
这是最好的方法吗,安全吗?本地标识符会@"en_US"
在所有国际版本的 Mac OS X 上可用,还是nil
在某些情况下会返回 NSLocale?
更新1:这似乎运作良好,并且更明确:
NSLocaleDecimalSeparator
是为 NSLocale 定义的常量,它响应-objectWithKey:
,就像 NSDictionary 一样。你可以给它任何你想要的小数点分隔符,比如@","
.
我认为这可能是该问题的最佳答案,除非其他人有更好的主意?
objective-c - NSDecimalFormatter 和货币符号:$US 而不是 $
我一定遗漏了一些明显的东西,但由于我在这方面浪费了太多时间,我会让专家看看。我只是愿意得到一个完全按照我想要的格式格式化的字符串,但是货币符号给了我一个问题:当我只想要符号时,它使用了某种国际代码。
这导致: 1,250.56美元而不是1,250.56美元
我不会设置语言环境,因为我只有一个符号:EUR / USD / GBP 等。
objective-c - 使用 NSDecimalNumber 计算字段的 NSPredicate
我想用 NSDecimalNumber 值过滤 Core Data 中的计算字段(Apple 文档中的二进制表达式)。
实体有两个属性:field1和field2,都是Decimal类型
谓词是:
但这不起作用。它什么也不回报。
当我单独过滤每个属性时,它就会起作用。例如:
怎么了?
ios - NSDecimalNumber 不应该能够进行以 10 为底的算术吗?
不NSDecimalNumber
应该能够正确地进行以 10 为底的算术吗?
objective-c - 将 NSDecimalNumber 转换为 NSString
我使用此代码获取 md5 字符串哈希
当我这样做时,它工作得很好
但是当我做这个时
我有一个错误
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSDecimalNumber UTF8String]:无法识别的选择器已发送到实例 0x61a7080”
userId 是一个 NSString
但它包含 facebook 用户 id,比如我试过的“3309843”
我仍然有同样的错误
更新 我试过这个
并且仍然有同样的错误,我认为问题是方法 md5。我不能得到一串数字的 md5 吗?