Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 应用商店的本地化价格_Iphone_Objective C_Cocoa Touch_App Store - Fatal编程技术网

Iphone 应用商店的本地化价格

Iphone 应用商店的本地化价格,iphone,objective-c,cocoa-touch,app-store,Iphone,Objective C,Cocoa Touch,App Store,我把同一家公司的其他应用程序的链接放到iPhone应用程序中,我们想显示这些应用程序的价格。是否有可能以某种方式获得适合用户的本地化价格字符串(金额和货币)?我想我不得不求助于屏幕抓取之类的方法,但我发现人们可以从App Store中获取大量信息,所以也许有一种相对简单的方法?有一种iTunes Web服务API可以使用 记录它 您可以使用“国家”查询字段指定希望返回结果的国家 您可以使用NSLocale获取用户的国家/地区名称 NSLocale *locale = [NSLocale curr

我把同一家公司的其他应用程序的链接放到iPhone应用程序中,我们想显示这些应用程序的价格。是否有可能以某种方式获得适合用户的本地化价格字符串(金额和货币)?我想我不得不求助于屏幕抓取之类的方法,但我发现人们可以从App Store中获取大量信息,所以也许有一种相对简单的方法?

有一种iTunes Web服务API可以使用

记录它

您可以使用“国家”查询字段指定希望返回结果的国家

您可以使用NSLocale获取用户的国家/地区名称

NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode
                         value: countryCode]];

尽管您可能需要一个查找表,以与iTunes store API相同的方式对其进行格式化。

如果您可以将价格提取为一个简单的数字,NSNumberFormatter将为您提供货币本地化

NSDecimalNumber *price = [NSDecimalNumber decimalNumberWithString:@"4.95"];

NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
这将添加来自用户默认regiona设置的货币。如果要更改区域设置,请使用:

[currencyFormatter setLocale:anyLocale];

哇,肯定比我想象的容易多了。谢谢非常有趣,尽管在这种情况下这还不够。因此,系统保留NSNumberFormatter使用的最近汇率信息?实际上,我认为代码所做的只是为用户所在地区添加相关的货币符号。@Felixyz这与汇率计算无关,它只是使用地区货币设置格式化数字值。