zoukankan      html  css  js  c++  java
  • iOS语言与地区的判断

    NSLocale *local = [NSLocale currentLocale];
    if (![local.currencyCode isEqualToString:@"CNY"]) {}// 地区货币代码。注意,currencyCode只能在iOS 10及以上的版本可以使用,所以低于这个版本的系统上,会crash。

    可以用下面的判断:

      // 当前所在地信息,包括语言与地区

      NSString *identifier = [[NSLocale currentLocale] localeIdentifier];

       NSString *displayName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:identifier];

       if (![displayName isEqualToString:@"中文(中国)"]) {}// 只有地区是中国,语言是简体中文,displayName才是@"中文(中国)"

      // 当前所在地的使用语言

        NSLocale *currentLocale = [NSLocale currentLocale];

        NSLog(@"Language Code is %@", [currentLocale objectForKey:NSLocaleLanguageCode]);

        // 系统语言

        NSArray *arLanguages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];

        NSString *strLang = [arLanguages objectAtIndex:0];

    语言是简体中文:

    2017-09-18 10:50:23.517 CeShi[2343:854583] 中文(中国)
    2017-09-18 10:50:23.521 CeShi[2343:854583] LanguageCode is zh
    2017-09-18 10:50:23.521 CeShi[2343:854583] AppleLanguages:zh-Hans-CN

    语言是English:

    2017-09-18 11:08:51.587 CeShi[2396:860809] English (China)
    2017-09-18 11:08:51.589 CeShi[2396:860809] LanguageCode is en
    2017-09-18 11:08:51.589 CeShi[2396:860809] AppleLanguages:en-CN

    // 输入框,对金额格式化

        _invalidInputCharacterSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];//NSCharacterSet

        _currencyNumberFormatter = [[NSNumberFormatter alloc] init];//NSNumberFormatter

        _currencyNumberFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];// 不管手机的地区和语言是什么,直接初始化成 中国和简体中文;

        _currencyNumberFormatter.numberStyle = kCFNumberFormatterCurrencyStyle;

        _currencyNumberFormatter.usesGroupingSeparator = YES;

  • 相关阅读:
    Extjs 4 生成饼状图的例子
    cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
    HDOJ 1495 非常可乐 【BFS】
    Android采用HttpClient下载图片
    解决本地访问Android文档是非常慢的问题
    潜在语义分析Latent semantic analysis note(LSA)原理及代码
    你奋斗这么辛苦,这辈子要证明什么?
    Objective-C时间戳转换的转换和时间
    Delphi 线程resume 不能调用Execute
    Delphi 多线程 “尚未调用CoInitialize错误”的解决方法
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7542674.html
Copyright © 2011-2022 走看看