如何将货币从字符串格式转换为数字格式?

时间:2013-06-04 09:39:00

标签: iphone ios objective-c

我需要将货币从字符串格式转换为数字格式。

例如,我的字符串变量值为@"10 lakh"。转换为数字格式的字符串值将为1000000.如何进行此类转换?

(将10万转换为1000000,这就是问题)

2 个答案:

答案 0 :(得分:5)

尝试

- (NSNumber *)multiplierForKey:(NSString *)key
{

    NSDictionary *dict = @{@"thousand":@1000, @"lakh":@100000, @"million":@1000000, @"crore":@100000000};
    NSNumber *value = dict[[key lowercaseString]];
    return value?value:@1;
}

- (void)findMultiplier{

    NSString *string = @"10 lakh";

    NSArray *components = [string componentsSeparatedByString:@" "];

    if ([components count]==2) {
        NSNumber *value = components[0];
        NSString *key = components[1];
        NSNumber *multiplier = [self multiplierForKey:key];

        NSDecimalNumber *decimalValue = [NSDecimalNumber decimalNumberWithDecimal:[value decimalValue]];
        NSDecimalNumber *multiplierValue = [NSDecimalNumber decimalNumberWithDecimal:[multiplier decimalValue]];

        NSDecimalNumber *finalValue = [decimalValue decimalNumberByMultiplyingBy:multiplierValue];
        NSLog(@"Value : %@",finalValue);
    }
}

答案 1 :(得分:1)

您可以根据您的面额制作开关案例。通过选择特定的开关盒,您可以选择所需的值。我认为没有预定义的方法来实现这一目标。

希望这会有所帮助。