我正在从一个看起来像这样的对象中检索一个键:
po obj
{
TypeID = 3;
TypeName = Asset;
}
键值是通过以下方式检索的:
NSString *typeId = (NSString*)[obj objectForKey:@"TypeID"];
为什么typeId不是NSString,而是NSDecimalNumber?
我该如何将其转换为NSString?
我正在从一个看起来像这样的对象中检索一个键:
po obj
{
TypeID = 3;
TypeName = Asset;
}
键值是通过以下方式检索的:
NSString *typeId = (NSString*)[obj objectForKey:@"TypeID"];
为什么typeId不是NSString,而是NSDecimalNumber?
我该如何将其转换为NSString?
stringWithFormat
函数:NSString *typeId = [NSString stringWithFormat:@"%@", [obj objectForKey:@"TypeID"]];
或者stringValue
:
NSString *typeId = [[obj objectForKey:@"TypeID"] stringValue];
NSString *typeId = [[obj objectForKey:@"TypeID"] stringValue];
NSString *typeId = [[obj objectForKey:@"TypeID"] description];
由于这是顶部搜索结果,我没有看到Swift中关于NSDecimalNumber转换为字符串的问题,所以在这里提供一下。这将显示本地化的小数分隔符和所有具有非零值的小数位。
let string = decimalNumber.description(withLocale: Locale.current)
NSDecimalNumber* dec1;
NSString* str;
str = dec1.stringValue;
NSString* string1 = @"Stack overflow 123";
NSDecimalNumber* dec;
dec = (NSDecimalNumber *)string1;
NSString
强制转换为NSDecimalNumber
,它们是不同的类型,如果你尝试在该指针上使用NSDecimalNumber
方法,程序会崩溃。 - axiixc