将NSDecimalNumber转换为NSString

4th*_*ace 16 cocoa-touch objective-c nsstring nsdecimalnumber ios

我正在从一个看起来像这样的对象中检索一个键:

po obj
{
  TypeID = 3;
  TypeName = Asset;
}
Run Code Online (Sandbox Code Playgroud)

正在检索键值,如下所示:

NSString *typeId = (NSString*)[obj objectForKey:@"TypeID"];
Run Code Online (Sandbox Code Playgroud)

它不是typeId是NSString,而是NSDecimalNumber.这是为什么?

如何将其转换为NSString?

Jef*_*f B 32

你需要使用这个stringWithFormat功能:

NSString *typeId = [NSString stringWithFormat:@"%@", [obj objectForKey:@"TypeID"]];
Run Code Online (Sandbox Code Playgroud)

或者stringValue:

NSString *typeId = [[obj objectForKey:@"TypeID"] stringValue];
Run Code Online (Sandbox Code Playgroud)