public class drvFormat { private static void Format(int Val, char[] Ctrl, char[] Out) { int Loop1, Loop2, M, N; char Sign; boolean Zero; char [] Digit ={'0','1','2','3','4','5','6','7','8','9'}; Sign = ' '; Zero = false; if(Val<0){ Sign = '-'; Val = - Val; }else{ if(Val==0){ Zero = true; } } M = Val; Loop1 = 6; Loop2 = Loop1; while(Loop1 >= 0){ if(M > 0){ if(Ctrl[Loop1] =='#'){ N = M - ((M/10)*10); M = M /10; Out[Loop1] = Digit[N]; }else{ Out[Loop1] = Ctrl[Loop1]; } }else{ if(Ctrl[Loop1] ==' '){ Out[Loop1]=' '; }else{ if(Sign == '-'){ Out[Loop1] = '-'; Sign = ' '; }else{ if(Zero && Ctrl[Loop1] =='#'){ Out[Loop1] = '0'; Zero = false; }else{ Out[Loop1] = ' '; } } } } Loop1 = Loop1 -1; } if((M > 0) || (Sign=='-')){ while(Loop2 >= 0){ Out[Loop2] = '*'; Loop2 = Loop2 -1; } } } public static void main(String[] args) { int Val; char[] Ctrl = {' ','#',',','#','#','#',' '}; char[] Out = new char[7]; Val = 0; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Val = 123; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Val = 1234; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Val = 12345; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); // Val = -12; Val = 12; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Val = -123; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Val = -1234; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); Ctrl[0]=' '; Ctrl[1]='#'; Ctrl[2]=' '; Ctrl[3]='#'; Ctrl[4]=' '; Ctrl[5]='#'; Ctrl[6]=' '; Val = 123; Format(Val, Ctrl, Out); System.out.println(Val); System.out.println(Ctrl); System.out.println(Out); } }