2013-06-04 123 views
1

我需要將貨幣從字符串格式轉換爲數字格式。如何將貨幣從字符串格式轉換爲數字格式?

例如我的字符串變量值是@"10 lakh"。這個轉換成數字格式的字符串值將是1000000.如何才能進行這種類型的轉換?

(10個轉換到十萬1000000這是問題)

+0

OMG ....我可以'NSNumberFormatter' –

+1

其反向的方式轉換@ user1980105 Anoop維迪是一個熟練的程序員,他的服務將花費你至少$ 150 /小時。 StackOverflow不是爲了給你提供代碼,而是爲了幫助你解決你自己的代碼問題,或者指出你有一個好的方向。請閱讀[FAQ](http://stackoverflow.com/faq)! – Groot

+0

@菲利普,對不起... – IKKA

回答

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); 
    } 
} 
+0

它只對1O十萬請概括這個:) – iEinstein

+0

@AshutoshMishra我只是給了與其他同類常用名稱的通用的解決方案。如果你不想只使用字符串比較並找到乘數。 – Anupdas

+0

現在是正確的 – iEinstein

1

您可以根據自己的面額使開關的情況。通過選擇特定的開關盒,您可以選擇所需的值。我不認爲有預定義的方法來實現這一點。

希望這有助於。

+0

一個很好的建議。我想你需要製作一系列這樣的符號及其相應的乘數。使用謂語或有事找匹配的符號,並獲得乘數 – Anupdas