当语言环境设置为法语时,BlackBerry的货币格式设置
我正在编写一个需要法语支持的应用程序。当区域设置设置为FR时,我无法正确设置货币格式。是否有任何方法可以正确执行此操作?我必须自己执行此操作。 创建了一个“Formatter”类,使用以下方法扩展Formatter 现在不知道在法国是怎样的,但在阿根廷,我们使用以下格式10.000.000,18作为例子。 希望有帮助,或者有人提供更好的解决方案当语言环境设置为法语时,BlackBerry的货币格式设置,blackberry,blackberry-jde,Blackberry,Blackberry Jde,我正在编写一个需要法语支持的应用程序。当区域设置设置为FR时,我无法正确设置货币格式。是否有任何方法可以正确执行此操作?我必须自己执行此操作。 创建了一个“Formatter”类,使用以下方法扩展Formatter 现在不知道在法国是怎样的,但在阿根廷,我们使用以下格式10.000.000,18作为例子。 希望有帮助,或者有人提供更好的解决方案 public static String addCommas(String s) { int extraRound = 0; b
public static String addCommas(String s) {
int extraRound = 0;
boolean negative = false;
int c;
if(s.charAt(0) == '-') {
negative = true;
s = s.substring(1);
}
int len = s.indexOf('.')==-1?s.length():s.indexOf('.');
if(len > extraRound + 3) {
c = len - extraRound - 3;
s = s.substring(0, c) + "," + s.substring(c);
}
if(len > extraRound + 6) {
c = len - extraRound - 6;
s = s.substring(0, c) + "," + s.substring(c);
}
if(len > extraRound + 9) {
c = len - extraRound - 9;
s = s.substring(0, c) + "," + s.substring(c);
}
if(len > extraRound + 12) {
c = len - extraRound - 12;
s = s.substring(0, c) + "," + s.substring(c);
}
if(negative) {
s = '-' + s;
}
return s;
}
public static String addCommasNew(String s) {
int extraRound = 0;
boolean negative = false;
int c;
if(s.charAt(0) == '-') {
negative = true;
s = s.substring(1);
}
int len = s.indexOf(',')==-1?s.length():s.indexOf(',');
if(len > extraRound + 3) {
c = len - extraRound - 3;
s = s.substring(0, c) + "." + s.substring(c);
}
if(len > extraRound + 6) {
c = len - extraRound - 6;
s = s.substring(0, c) + "." + s.substring(c);
}
if(len > extraRound + 9) {
c = len - extraRound - 9;
s = s.substring(0, c) + "." + s.substring(c);
}
if(len > extraRound + 12) {
c = len - extraRound - 12;
s = s.substring(0, c) + "." + s.substring(c);
}
if(negative) {
s = '-' + s;
}
return s;
}
public static String removeScientific(String s) {
int eIndex = s.indexOf('E');
int initialPos = s.indexOf('.');
String result = s;
if (eIndex != -1){
int base = Integer.parseInt(s.substring(eIndex+1));
String pre = s.substring(0, initialPos);
String pos = s.substring(initialPos+1, eIndex);
String pos1 = "";
if (base < pos.length()){
String pos1a = pos.substring(0, base);
String pos1b = pos.substring(base, pos.length());
pos1 = pos1a + "." + pos1b;
} else {
pos1 = pos.substring(0, pos.length());
for (int i = 0; i < base-pos.length(); i++){
pos1 = pos1 + "0";
}
}
result = pre + pos1;
}
return result;
}
public static String changePointToComma(String s){
int initialPos = s.indexOf('.');
String result = s;
if (initialPos != -1){
result = s.substring(0, initialPos) + "," + s.substring(initialPos + 1, s.length());
}
return result;
}
public static String changeCommaToPoint(String s){
int initialPos = s.indexOf(',');
String result = s;
if (initialPos != -1){
result = s.substring(0, initialPos) + "." + s.substring(initialPos + 1, s.length());
}
return result;
}
public static String removeNumberFormat(String s){
int initialPos = s.indexOf('.');
String result = s;
if (initialPos != -1){
result = s.substring(0, initialPos) + s.substring(initialPos + 1, s.length());
result = Formatter.removeNumberFormat(result);
} else {
return result = Formatter.changeCommaToPoint(s);
}
return result;
}
public static String roundDouble(String s, int presicion){
int initialPos = s.indexOf('.');
String result = s;
String pre;
String pos;
if (initialPos != -1){
pre = s.substring(0, initialPos);
pos = s.substring(initialPos + 1, s.length());
if (presicion < pos.length()){
pos = s.substring(initialPos + 1, initialPos + 1 + presicion );
int dec = Integer.parseInt(pos);
int next = Integer.parseInt(s.substring(initialPos + 1 + presicion, initialPos + 2 + presicion )); //to round the las digit
if (next > 4){
dec = dec + 1;
pos = dec + "";
if ((dec+"").length() > presicion){
pre = (Integer.parseInt(pre) + 1) + "";
pos = "0";
}
}
} else {
}
result = pre + "." + pos;
}
return result;
}
公共静态字符串addCommas(字符串s){
int extralround=0;
布尔负=假;
INTC;
如果(s.charAt(0)='-'){
负=真;
s=s。子串(1);
}
int len=s.indexOf('.')==-1?s.length():s.indexOf('.');
如果(透镜>外圆+3){
c=透镜-外圆-3;
s=s.子串(0,c)+“,”+s.子串(c);
}
如果(透镜>外圆+6){
c=len-外圆-6;
s=s.子串(0,c)+“,”+s.子串(c);
}
如果(透镜>外圆+9){
c=透镜-外圆-9;
s=s.子串(0,c)+“,”+s.子串(c);
}
如果(透镜>外圆+12){
c=len-外圆-12;
s=s.子串(0,c)+“,”+s.子串(c);
}
如果(否定){
s='-'+s;
}
返回s;
}
公共静态字符串addCommasNew(字符串s){
int extralround=0;
布尔负=假;
INTC;
如果(s.charAt(0)='-'){
负=真;
s=s。子串(1);
}
int len=s.indexOf(',')==-1?s.length():s.indexOf(',');
如果(透镜>外圆+3){
c=透镜-外圆-3;
s=s.子串(0,c)+“+s.子串(c);
}
如果(透镜>外圆+6){
c=len-外圆-6;
s=s.子串(0,c)+“+s.子串(c);
}
如果(透镜>外圆+9){
c=透镜-外圆-9;
s=s.子串(0,c)+“+s.子串(c);
}
如果(透镜>外圆+12){
c=len-外圆-12;
s=s.子串(0,c)+“+s.子串(c);
}
如果(否定){
s='-'+s;
}
返回s;
}
公共静态字符串removeScientific(字符串s){
int eIndex=s.indexOf('E');
int initialPos=s.indexOf('.');
字符串结果=s;
如果(eIndex!=-1){
intbase=Integer.parseInt(s.substring(eIndex+1));
字符串pre=s.substring(0,initialPos);
字符串pos=s.子字符串(initialPos+1,eIndex);
字符串pos1=“”;
如果(底座<位置长度()){
字符串pos1a=位置子字符串(0,基);
字符串pos1b=位置子字符串(基,位置长度());
pos1=pos1a+“+pos1b;
}否则{
pos1=pos.substring(0,pos.length());
对于(int i=0;i4){
dec=dec+1;
pos=dec+“”;
如果((dec+).length()>presicion){
pre=(Integer.parseInt(pre)+1)+';
pos=“0”;
}
}
}否则{
}
结果=前+“+”位;
}
返回结果;
}