在所有 android 个应用中格式化数字
Format numbers in all android app
我正在使用一个有两种语言的应用程序,法语和阿拉伯语,为了做到这一点,我使用了这个代码:
Locale locale = new Locale("ar" or "fr");
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
但问题是它要用法语显示数字,我在这里发现我需要使用这些命令:
NumberFormat nf=NumberFormat.getInstance(new Locale("fr","FR"));
nf.format(i);
但它一次只适用于一个字符串,我需要找到另一个命令才能在所有应用程序中使用它,所以我可以一步将数字设置为法语
要在不同的语言环境中格式化数字,您可以在应用程序上下文中定义 NumberFormat ovject,并从那里使用它:
如果您的应用已经定义了一个 Application 对象,您必须将此代码添加到该 class,否则您将创建一个从 Application 扩展的新 class。这是因为您的应用程序中只有一个 Application 实例。
另外请记住,应用程序 class 必须在清单中声明。
public class MyApplication extends Application{
private NumberFormat nf = NumberFormat.getInstance(new Locale("fr","FR"));
public NumberFormat getNumberFormat(){
return nf;
}
public String getFormattedNmbr(double i){
return nf.format(i);
}
// add here getFormattedNmbr with different argument types
}
清单中:
<application
...
android:name="com.you.yourapp.MyApplication">
...
</Application>
在您的活动中:
getApplication().getNumberFormat().format(number);
//or
getApplication().getFormattedNbr(32.45);
我正在使用一个有两种语言的应用程序,法语和阿拉伯语,为了做到这一点,我使用了这个代码:
Locale locale = new Locale("ar" or "fr");
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
但问题是它要用法语显示数字,我在这里发现我需要使用这些命令:
NumberFormat nf=NumberFormat.getInstance(new Locale("fr","FR"));
nf.format(i);
但它一次只适用于一个字符串,我需要找到另一个命令才能在所有应用程序中使用它,所以我可以一步将数字设置为法语
要在不同的语言环境中格式化数字,您可以在应用程序上下文中定义 NumberFormat ovject,并从那里使用它:
如果您的应用已经定义了一个 Application 对象,您必须将此代码添加到该 class,否则您将创建一个从 Application 扩展的新 class。这是因为您的应用程序中只有一个 Application 实例。
另外请记住,应用程序 class 必须在清单中声明。
public class MyApplication extends Application{
private NumberFormat nf = NumberFormat.getInstance(new Locale("fr","FR"));
public NumberFormat getNumberFormat(){
return nf;
}
public String getFormattedNmbr(double i){
return nf.format(i);
}
// add here getFormattedNmbr with different argument types
}
清单中:
<application
...
android:name="com.you.yourapp.MyApplication">
...
</Application>
在您的活动中:
getApplication().getNumberFormat().format(number);
//or
getApplication().getFormattedNbr(32.45);