首页 > 解决方案 > Objective-C:如何将货币符号€转换为货币代码EUR并在标签上显示?

问题描述

有没有办法在货币代码中转换货币符号?

就我而言,我想将符号 € 转换为货币代码 EUR 并将其显示在 UILabel 中。即使设备设置设置为另一个地区(例如美国,它当然必须显示美元),它也必须工作。

我在 Stackoverflow 上看到过不同的例子,但它们显示的恰恰相反。有什么建议么?

标签: iosobjective-cxcodelocalecurrency

解决方案


获取指定语言环境的代码,语言环境很重要,因为相同的符号$可以给出不同的代码,例如en-US给出USDen-ca给出CAD

- (NSString *)currencyCodeWithCurrencySymbol:(NSString *)currencySymbol
                                      locale:(NSLocale *)locale
{
    for (NSString *code in [NSLocale ISOCurrencyCodes]) {
        NSString *symbol = [locale displayNameForKey:NSLocaleCurrencySymbol value:code];

        if ([symbol isEqualToString:currencySymbol]) {
            return code;
        }
    }

    return nil;
}

推荐阅读