2013-05-03 43 views
0

嗨我想設置本地化我的應用程序,它目前從文本框接收字符串,並將它們轉換爲雙。然後繼續做一個計算和輸出作爲一個字符串在屏幕上我如何設置這個應用程序接受本地化的貨幣和輸出到該貨幣

我所試圖做的是, 了該應用程序知道他們是從一個特定國家的字符串轉換爲當地貨幣, 做計算,然後輸出相關貨幣,

我認爲解決方案在於nsformatter。我一直在尋找通過文件和IM失去,這是我的代碼,你會建議什麼樣的幫助將受到歡迎。

(IBAction)calculateCost:(UIButton *)sender { 

    NSString *rate = self.textField1.text; 
    NSString *wat = self.textField2.text; 
    NSString *hours = self.textField3.text; 
    NSString *Days = self.textField4.text; 

    double num1 = [rate doubleValue]; 
    double num2 = [wat doubleValue]; 
    double num3 = [hours doubleValue]; 
    double num4 = [Days doubleValue]; 

    double appKw = num2/1000; 
    double costKwph = appKw *num1; 

    double tCost = ((num4 * num3) * costKwph); 

    if (num2 == 0 || num1 == 0 || num3 == 0 || num4 == 0) { 
     self.textField5.text = 0; 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"oops" message:@"you must fill in all fields" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",nil]; 
     [alert show]; 
    } 
    tCost = tCost/100; 

    self.textField5.text = [NSString stringWithFormat:@"£%0.2f",tCost]; 

} 

回答

0

NSNumberFormatter包括貨幣的風格,這是區域安全的,但不是線程安全的,所以他們should't從不同的線程進行修改。示例如下:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle]; 
NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:tCost/100.00]]; 
+0

謝謝,但我無法理解我怎麼會用它來提取我的字符串,並將其設置爲當地貨幣,然後輸出它作爲貨幣 – 2013-05-03 06:23:11

+0

後你計算tCost,把這些三線並將self.textField.text設置爲numberAsString – hd1 2013-05-03 06:25:57

+0

mate ive得到它的工作,以及在一個存根節目,測試一個領域,這就是輝煌:)非常感謝,我會進一步測試:)看看我去 – 2013-05-03 06:31:33