【问题标题】:How to use different currency symbol instead of device local currency symbol?如何使用不同的货币符号代替设备本地货币符号?
【发布时间】:2013-07-24 15:41:03
【问题描述】:

我需要为用户提供可以使用不同货币符号而不是设备本地货币符号的功能。例如:如果我的设备语言是“英语”,那么我的货币符号将是“$”,但我需要这样做,我的设备语言将保持“英语”,但货币符号更改为“€”(或任何其他货币符号,但不是'$')。

请不要将其标记为重复,因为我需要使用不同的货币符号而不是设备默认的本地货币符号。

请就此提出您的建议。感谢您的宝贵时间。

【问题讨论】:

    标签: iphone ios objective-c nsnumberformatter nslocale


    【解决方案1】:

    我用这个:

    NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [currencyFormatter setCurrencyCode:currencyCode];
    

    其中货币代码类似于“USD”、“CAD”、“EUR”、“GBP”等。

    【讨论】:

    • 感谢您的回复,但它没有解决要求。这是场景:-如果我们设置货币代码“EUR”并尝试获取“currencyFormatter.currencySymbol”,那么我们会得到“$”,因为我们的设备默认语言仍然是“英语”,我需要得到一个获得“€”符号作为结果的方法。
    • 在这种情况下,您可能只需要删除带有[currencyFormatter setCurrencySymbol:@""] 的货币符号。然后它应该显示没有符号的 EUR 24.95。那么问题是关于十进制与逗号。也许您可以明确设置语言环境并使用NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 获得正确的符号、小数/逗号,然后设置语言环境,但我没有尝试过。这是一个可能有用的未回答的 SO 问题:stackoverflow.com/questions/15545810/…
    猜你喜欢
    • 1970-01-01
    • 2019-02-23
    • 2012-09-04
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    相关资源
    最近更新 更多