diff --git a/OCMapper/Source/ObjectMapper.m b/OCMapper/Source/ObjectMapper.m index 15c171c..af51fda 100644 --- a/OCMapper/Source/ObjectMapper.m +++ b/OCMapper/Source/ObjectMapper.m @@ -325,6 +325,18 @@ - (id)processDictionary:(NSDictionary *)source forClass:(Class)class { nestedObject = [NSNumber numberWithDouble:[value doubleValue]]; } + // Convert NSString to NSDecimalNumber if needed + else if ([propertyTypeString isEqualToString:@"NSDecimalNumber"]) + { + if ([value isKindOfClass:[NSString class]]) + { + nestedObject = [NSDecimalNumber decimalNumberWithString:value]; + } + else if ([value isKindOfClass:[NSNumber class]]) + { + nestedObject = [NSDecimalNumber decimalNumberWithString:[value stringValue]]; + } + } // Convert NSNumber to NSString if needed else if ([propertyTypeString isEqualToString:@"NSString"] && [value isKindOfClass:[NSNumber class]]) {