关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我一直在寻找一种干净且正确的方法来将从CoreData检索到的NSDecimalNumber转换为Double。我正在寻找有关如何执行此操作的建议。我需要从我的CoreData中获取2个小数,并计算一个百分比以用于进度条等。
根据文档,[NSDecimalNumberdecimalNumberWithString:]应该使用语言环境小数点分隔符:WhethertheNSDecimalSeparatorisaperiod(asisused,forexample,intheUnitedStates)oracomma(asisused,forexample,inFrance)dependsonthedefaultlocale.但是当我尝试时,这段代码:NSLog(@"%@",[NSDecimalNumberdecimalNumberWithString:@"100,1"]);NSLog(@"%@",[NSDeci
我偶然发现了一个奇怪的NSDecimalNumber行为:对于某些值,调用integerValue、longValue、longLongValue等,返回意想不到的值(value)。示例:letv=NSDecimalNumber(string:"9.821426272392280061")v//evaluatesto9.821426272392278v.intValue//evaluatesto9v.integerValue//evaluatesto-8v.longValue//evaluatesto-8v.longLongValue//evaluatesto-8letv2=NSDec
我尝试在我的代码中将字符串转换为NSDecimalNumber:classfuncstringToDecimal(dataToDecimal:String)->NSDecimalNumber{letdataToDecimal=dataToDecimal.stringByReplacingOccurrencesOfString(",",withString:".")print(dataToDecimal)letdecimalReturn=NSDecimalNumber(string:dataToDecimal)print(decimalReturn)ifdecimalReturn==NS
我正在寻找从double或short实例化NSDecimalNumber的最佳方法。有以下NSNumber类和实例方法...+NSNumbernumberWithFloat+NSNumbernumberWithDouble-NSNumberinitWithFloat-NSNumberinitWithDouble但这些似乎返回NSNumber。另一方面,NSDecimalNumber定义如下:+NSDecimalNumberdecimalNumberWithMantissa:exponent:isNegative:+NSDecimalNumberdecimalNumberWithDeci
我意识到NSDecimalNumber继承自NSNumber。但是,我正在努力弄清楚如何从NSNumber初始化NSDecimalNumber,或者如何将NSNumber转换为NSDecimalNumber。我试过了NSDecimalNumber*d=[aNumbercopy];其中aNumber是一个无用的NSNumber对象。我错过了什么吗?谢谢。 最佳答案 你可以这样做:NSDecimalNumber*decNum=[NSDecimalNumberdecimalNumberWithDecimal:[aNumberdecimal