美文网首页
小语种导致String.format()小数点显示逗号

小语种导致String.format()小数点显示逗号

作者: 霁逸lei | 来源:发表于2022-09-20 10:25 被阅读0次

    设置-修改语言为西班牙语 当前format后小数点变成逗号

    • 按config.locale = Locale.SIMPLIFIED_CHINESE;配置后发现开启新的activity该配置对新activity无效
    //原因:java.util.Locale类中不存在部分地区的语言,其中format最终调用如下方法
    public static String format(Locale locale, String format, Object... args)
    l != null ? l : Locale.getDefault()
    入参locale默认为Locale.getDefault()
    
    
    //单个修复,设置语种
    double dValue = 360.672;
    String strValue = String.format(Locale.ENGLISH,"%.2f",dValue);
    
    //全局设置,修改默认语种
    String languageToLoad = "zh";
    Locale locale = new Locale(languageToLoad);
    Locale.setDefault(locale);
    Configuration config = this.getResources().getConfiguration();
    DisplayMetrics metrics = this.getResources().getDisplayMetrics();
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
        Locale localeDefault = getResources().getConfiguration().getLocales().get(0);
        localeDefault = Locale.SIMPLIFIED_CHINESE;
    }else {
        config.locale = Locale.SIMPLIFIED_CHINESE;
    }
    this.getResources().updateConfiguration(config, metrics);
    

    参考链接
    android 使用String.format("%.2f",67.876)自已定义语言(俄语、西班牙语)会把小数点变为逗号_mmsx的博客-CSDN博客

    相关文章

      网友评论

          本文标题:小语种导致String.format()小数点显示逗号

          本文链接:https://www.haomeiwen.com/subject/jhcpbrtx.html