转换英文大写

<!--
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 ", };
}
-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值