本篇文章主要介绍了"android 使用Stringformat"%2f",67876自已定义语言(俄语、西班牙语)会把小数点变为逗号",主要涉及到require,Exception,Application方面的内容,对于移动开发感兴趣的同学可以参考一下:
市场人员反映公司的app使用系统设置俄语、西班牙语,double数据会把小数点变为逗号。调试一下,是自定义的语言时候(例如,俄语、西班牙语)转换String.f...
市场人员反映公司的app使用系统设置俄语、西班牙语,double数据会把小数点变为逗号。调试一下,是自定义的语言时候(例如,俄语、西班牙语)转换String.format("%.2f",67.876)。会出现的。
1、android 系统,设置系统语言的步骤
Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项
2、问题分析
java.util.Locale类
在这个Locale类里面,有些语言是没有,例如俄语、西班牙语等。那么这时候android开发时候需要这些语言,怎么办。只好后面自已新建,自定义。
/**
* Locale constant for en_CA.
*/
public static final Locale CANADA = new Locale(true, "en", "CA");
/**
* Locale constant for fr_CA.
*/
public static final Locale CANADA_FRENCH = new Locale(true, "fr", "CA");
/**
* Locale constant for zh_CN.
*/
public static final Locale CHINA = new Locale(true, "zh", "CN");
/**
* Locale constant for zh.
*/
public static final Locale CHINESE = new Locale(true, "zh", "");
/**
* Locale constant for en.
*/
public static final Locale ENGLISH = new Locale(true, "en", "");
Locale类里面,私有方法新建语言的。可是不提供外部调用。/**
* There's a circular dependency between toLowerCase/toUpperCase and
* Locale.US. Work around this by avoiding these methods when constructing
* the built-in locales.
*
* @param unused required for this constructor to have a unique signature
*/
private Locale(boolean unused, String lowerCaseLanguageCode, String upperCaseCountryCode) {
this.languageCode = lowerCaseLanguageCode;
this.countryCode = upperCaseCountryCode;
this.variantCode = "";
}
源码中的这个方法是共外部新建语言的。
构造一个新的{ @code地区}使用指定的语言,国家,和变体编码。