jjzjj

NSNumber

全部标签

swift - 如何将 NSNumber 转换/转换为 Int64?

正如标题所说。我必须将Int64存储在NSUserDefaults中,而我发现这样做的唯一方法是将其存储为NSNumber之类的NSNumber(longLong:someInt64)但我不知道如何将它转换回Int64。 最佳答案 长话短说使用NSNumber的int64Value属性获取Int64值:letsomeInt64:Int64=314letn=NSNumber(value:someInt64)letm=n.int64Value//misan`Int64`长答案NSNumber不同于原始类型,例如Int和Double。NS

swift - 在 Swift 中将 NSNumber 转换为 NSTimeInterval

由于我是Swift的新手,所以我在Swift中遇到了某种类型的转换。这是我的代码:ifletmatchDateTime=item["matchDate"].number{_matchDateTime=matchDateTime}println(_matchDateTime)letdate=NSDate(timeIntervalSince1970:_matchDateTime)但它给了我错误:ExtraargumenttimeSinceInterval1970incall我不知道那个错误是什么,可能是将NSNumber转换为NSTimeInterval但是如何呢?不知道。谁能帮我解决这个

ios - 在 Swift 中将 Double 转换为 NSNumber 会失去准确性

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭6年前。出于某种原因,我的Swift应用程序中的某些double在转换为NSNumber时给我带来了麻烦,而有些则没有。我的应用程序需要将带2位小数的double(价格)转换为NSNumber,以便可以使用CoreData存储和检索它们。例如,除非使用NSNumber的doubleValue方法进行特殊格式化,否则一些特定价格(如79.99)将计算为99.98999999999999。这里selectedWarranty.price=79.99如调试器所示//item.price:NSNu

swift - 如何从 UInt16 转换为 NSNumber

我有一个UInt16变量,我想将其传递给需要NSNumber的遗留函数。如果我尝试:varcastAsNSNumber:NSNumber=myUInt16我收到一个编译器错误'UInt16'isnotconvertibleto'NSNumber'问题如何将其重铸为NSNumber? 最佳答案 varcastAsNSNumber=NSNumber(unsignedShort:myUInt16) 关于swift-如何从UInt16转换为NSNumber,我们在StackOverflow上找到

ios - 无法在 JSON 解析中将 NSNumber 桥接到 Float

得到这个错误:Fatalerror:UnabletobridgeNSNumbertoFloat.Whatistheproblem?这是原始消息,它是float而不是字符串。{\"name\":\"Tomas\",\"gender\":\"male\",\"probability\":0.99,\"count\":594} 最佳答案 在Swift/Foundation中有许多不同类型的数字。您的NSKeyValueCoding已设置为NSNumber的实例(请参阅下面的JSON序列化文档摘录),因此您需要按原样阅读,然后要求转换此NS

ios - 在 Swift 中将 CGFloat 转换为 NSNumber

我在Swift中有一个扩展,它包含一些CGFloat的属性。问题是我不知道如何使用关联对象将CGFloat值存储为NSNumber这是我的代码,它不起作用,但它详细说明了我想做什么:varscaledFontSize:CGFloat{get{guardletfontSize=objc_getAssociatedObject(self,&AssociatedKeys.scaledFontSize)as?NSNumberelse{//SetitletscaledFont:CGFloat=VGSizeValues.getValueFromValue(self.font.pointSize);

ios - Swift 中的字符串到 NSNumber

我找到了一个将String转换为NSNumber的方法,但是代码在Objective-C中。我试过将它转换为Swift,但它不起作用。我使用的代码:NSNumberFormatter*f=[[NSNumberFormatteralloc]init];f.numberStyle=NSNumberFormatterDecimalStyle;NSNumber*myNumber=[fnumberFromString:@"42222222222"];在Swift中,我以这种方式使用它:vari=NSNumberFormatter.numberFromString("42")但是这段代码不起作用。

objective-c - 将 NSNumber 转换为 NSDecimalNumber

我意识到NSDecimalNumber继承自NSNumber。但是,我正在努力弄清楚如何从NSNumber初始化NSDecimalNumber,或者如何将NSNumber转换为NSDecimalNumber。我试过了NSDecimalNumber*d=[aNumbercopy];其中aNumber是一个无用的NSNumber对象。我错过了什么吗?谢谢。 最佳答案 你可以这样做:NSDecimalNumber*decNum=[NSDecimalNumberdecimalNumberWithDecimal:[aNumberdecimal

iphone - 如何将 NSNumber 转换和比较为 BOOL?

首先我将BOOL值转换为NSNumber,以便将其放入NSUserDefaults。稍后我想从NSUserDefaults中检索BOOL值,但显然我得到的是NSNumber而不是BOOL。我的问题是?如何将NSNumber转换回BOOL?如何将NSNumber与BOOL值进行比较。目前我有:if(someNSNumberValue==[NSNumbernumberWithBool:NO]){dosomething}有更好的比较方法吗?谢谢! 最佳答案 您当前比较两个指针。使用NSNumber的方法来实际比较两者:if([someNS

iphone - NSNumber 和 NSInteger 有什么区别?

NSNumber和NSInteger有什么区别?我应该知道更多像这样的原语吗?有花车用的吗? 最佳答案 NSNumber是一个类,而不是原语,当您需要将原始数字放入字典、数组或以其他方式封装它们时使用。NSInteger、NSUInteger、CGFloat等都是简单的类型并且对应于(在iPhone等32-bt系统上)int、unsignedint和float。作为一般规则,如果您需要在某处存储数字,请使用NSNumber。如果您正在执行计算、循环等,请使用NSInteger、NSUInteger或CGFloat。您可以将NSInt