2011-06-06 28 views
0

我正在开发我的第一个iPhone应用程序,并且希望能够使用设备的货币设置格式化货币。使用设备的货币设置格式化输出

目前我有这样的:

- (IBAction)calculate { 

    float lp = ([leftPrice.text floatValue]); 
    float rp = ([rightPrice.text floatValue]); 
    float lw = ([leftWeight.text floatValue]); 
    float rw = ([rightWeight.text floatValue]); 

    float lppkg = lp/lw; 
    float rppkg = rp/rw; 

    if (lp > 0 && lw > 0) { 
     leftPricePerKg.text = [[NSString alloc] initWithFormat:@"$%.2f", lppkg]; 
    } 

    if (rp > 0 && rw > 0) { 
     rightPricePerKg.text = [[NSString alloc] initWithFormat:@"$%.2f", rppkg]; 
    } 
} 

回答

2

你应该看看NSNumberFormatter -

你可以看这里: https://developer.apple.com/documentation/foundation/numberformatter

在这里:

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfNumberFormatting10_4.html#//apple_ref/doc/uid/TP40002368-SW1

特别是对

“配置货币的格式” 部分

编辑

我发现 -

//-------------------------------------------- 
// Format style as currency, output to console 
//-------------------------------------------- 
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
formattedOutput = [formatter stringFromNumber:[attributesDict objectForKey:NSFileSystemFreeSize]]; 
NSLog(@"Output as currency: %@", formattedOutput); 

//-------------------------------------------- 
// Change local and output as currency 
//-------------------------------------------- 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"it_IT"]; 
[formatter setLocale:locale]; 
formattedOutput = [formatter stringFromNumber:[attributesDict objectForKey:NSFileSystemFreeSize]]; 
NSLog(@"Output as currency - locale it_IT: %@", formattedOutput); 

这里: http://iosdevelopertips.com/cocoa/formatting-numbers-nsnumberformatter-examples.html

+0

感谢。我尝试了以下方法,但无法使其正常工作。我显然缺少一些东西:currency.text = [NSString currencySymbol]; – 2011-06-06 08:55:28