转换英文大写

来源:互联网 发布:手机数据网速突然变慢 编辑:程序博客网 时间:2024/05/03 02:23

<!--
package debug;


public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // SimpleDateFormat format=new SimpleDateFormat("MMM d,
  // ''yyyy",Locale.ENGLISH);
  // String str=format.format(new Date());
  // System.out.println(str);
//  System.out.println(getUnitValue(1000));
  StringBuffer value=new StringBuffer("");
  getEnBigValue(1999999889,value);
  System.out.println(value.toString());
  System.out.println(Integer.MAX_VALUE);
 }

 private static void getEnBigValue(int param,StringBuffer value){
  getEnBigValue(param,0,value);
 }
 private static void getEnBigValue(int param,int unit,StringBuffer value){
  if(param==0){
   return;
  }
  int over = param % 1000;
  int hh = param / 1000;
  if(hh>0){
   getEnBigValue(hh,unit+1,value);
  }
  if(over!=0){
   System.out.println(unit);
   value.append(getUnitValue(over)).append(units[unit]);
  }
 }
 /**
  * TODO 取得三位数的英文大写值
  * @param param
  * @return
  */
 private static String getUnitValue(int param) {
  if (param >= 1000) {
   return "单元值不能大于999";
  } else
   if (param > 100) {
   int over = param % 100;
   int hh = param / 100;
   return ens[hh] + "Hundred And " + ens[over];
  } else if (param == 100) {
   return "ONE Hundred ";
  } else {
   // <100
   return ens[param];
  }
 }

 private static String ens[] = { "", "ONE ", "TWO ", "THREE ", "FOUR ",
   "FIVE ", "SIX ", "SEVEN ", "EIGHT ", "NINE ", "TEN ", "ELEVEN ",
   "TWELVE ", "THIRTEEN ", "FOURTEEN ", "FIFTEEN ", "SIXTEEN ",
   "SEVENTEEN ", "EIGHTEEN ", "NINETEEN ", "TWENTY ", "TWENTY ONE ",
   "TWENTY TWO ", "TWENTY THREE ", "TWENTY FOUR ", "TWENTY FIVE ",
   "TWENTY SIX ", "TWENTY SEVEN ", "TWENTY EIGHT ", "TWENTY NINE ",
   "THIRTY ", "THIRTY ONE ", "THIRTY TWO ", "THIRTY THREE ",
   "THIRTY FOUR ", "THIRTY FIVE ", "THIRTY SIX ", "THIRTY SEVEN ",
   "THIRTY EIGHT ", "THIRTY NINE ", "FORTY ", "FORTY ONE ",
   "FORTY TWO ", "FORTY THREE ", "FORTY FOUR ", "FORTY FIVE ",
   "FORTY SIX ", "FORTY SEVEN ", "FORTY EIGHT ", "FORTY NINE ",
   "FIFTY ", "FIFTY ONE ", "FIFTY TWO ", "FIFTY THREE ",
   "FIFTY FOUR ", "FIFTY FIVE ", "FIFTY SIX ", "FIFTY SEVEN ",
   "FIFTY EIGHT ", "FIFTY NINE ", "SIXTY ", "SIXTY ONE ",
   "SIXTY TWO ", "SIXTY THREE ", "SIXTY FOUR ", "SIXTY FIVE ",
   "SIXTY SIX ", "SIXTY SEVEN ", "SIXTY EIGHT ", "SIXTY NINE ",
   "SEVENTY ", "SEVENTY ONE ", "SEVENTY TWO ", "SEVENTY THREE ",
   "SEVENTY FOUR ", "SEVENTY FIVE ", "SEVENTY SIX ", "SEVENTY SEVEN ",
   "SEVENTY EIGHT ", "SEVENTY NINE ", "EIGHTY ", "EIGHTY ONE ",
   "EIGHTY TWO ", "EIGHTY THREE ", "EIGHTY FOUR ", "EIGHTY FIVE ",
   "EIGHTY SIX ", "EIGHTY SEVEN ", "EIGHTY EIGHT ", "EIGHTY NINE ",
   "NINETY ", "NINETY ONE ", "NINETY TWO ", "NINETY THREE ",
   "NINETY FOUR ", "NINETY FIVE ", "NINETY SIX ", "NINETY SEVEN ",
   "NINETY EIGHT ", "NINETY NINE " };

 private static String units[] = {"","Thousand ", "Million ",
   "Billion ", "Thousand Billion ", };
}
-->

原创粉丝点击