当前位置:编程学习 > JAVA >>

字符转字符串并转换成大写的问题

<%
        String amount = NumberUtil.formatNumberTwo(subDto.getAmount());
String subInput = amount.substring(0, amount.indexOf('.'));
        int pstn =subInput.length();  
char chs[]=subInput.toCharArray();
StringBuffer strs = new StringBuffer("");
for (int i = 0; i < chs.length; i++)
{
strs.append(StringUtil.to_upper(chs[i]));
}
strs.reverse();
for(int j = 0; j<(7-strs.length());j++)
{
strs.append(".");
}
chs[]=strs.toString().toCharArray();

%>

function to_upper( a)
{
switch(a){
case '0' : return '零'; break;
case '1' : return '壹'; break;
case '2' : return '贰'; break;
case '3' : return '叁'; break;
case '4' : return '肆'; break;
case '5' : return '伍'; break;
case '6' : return '陆'; break;
case '7' : return '柒'; break;
case '8' : return '捌'; break;
case '9' : return '玖'; break;
default: return '' ;
}
}

现在情况是 能取到值 amount = 245698 我现在想做一个字符串组chs 把其中的数字转成中文大写并保存在chs[]组中

请教各位给修正源码!! 谢谢

--------------------编程问答-------------------- switch case --------------------编程问答-------------------- 这个………………有必要问? --------------------编程问答-------------------- package com.studjava;


public class CommonUtil{

private final static  String upArr[] = {  
    "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"
    } ;
  
  public static String toUp(char cDigit){
  //必须确定 sDigit 为 0~9 的一位数字
   int iDigit =  Integer.parseInt(String.valueOf(cDigit)) ;
   System.out.println(cDigit);
   return   upArr[iDigit] ;
  }
  
  public static void main(String[] args) {

  int iSrc = 23855 ;
  String sSrc = String.valueOf(iSrc) ;
  char[] arrChar = sSrc.toCharArray() ;
  int len = arrChar.length ;
  String []arrDesc = new String[len] ;
  
 
  
  for (int i = len - 1; i >= 0; i--){
arrDesc[len-1 -i] = toUp(arrChar[i]) ;  
  }
  
  for (int i = 0; i < len; i++){
  System.out.print(arrDesc[i]) ;
  }
  
  }
} --------------------编程问答-------------------- 5
5
8
3
2
伍伍捌叁贰 --------------------编程问答--------------------
引用 3 楼 cai5 的回复:
package com.studjava;


public class CommonUtil{

private final static String upArr[] = {  
  "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"
  } ;
  
  public static String toUp(char cDigit……


学习咯 --------------------编程问答-------------------- package com.studjava;


public class CommonUtil{

private final static  String upArr[] = {  
    "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"
    } ;
  
  public static String toUp(char cDigit){
  //必须确定 sDigit 为 0~9 的一位数字
   int iDigit =  Integer.parseInt(String.valueOf(cDigit)) ;
   return   upArr[iDigit] ;
  }
  
  //234  -->贰叁肆 -正向
  public static String[] charToUpString(char [] cArr){
  
  int len = cArr.length ;
  String []arrDesc = new String[len] ;
  
  for (int i = 0; i < len; i++){

arrDesc[i] = toUp(cArr[i]) ;  
  }
  return arrDesc ;
  }
  
  //234  -->肆叁贰  -反向
  public static String[] charToUpRevString(char [] cArr){
  int len = cArr.length ;
  String []arrDesc = new String[len] ;
  
  for (int i = len - 1; i >= 0; i--){
arrDesc[len-1 -i] = toUp(cArr[i]) ;  
  }
  
  return arrDesc ;
  }
  public static void main(String[] args) {

  int iSrc = 23855 ;
  String sSrc = String.valueOf(iSrc) ;
  char[] arrChar = sSrc.toCharArray() ;
  int len = arrChar.length ;
  
  String []str1 = charToUpString(arrChar) ;
  
  System.out.print("正向:") ;
  for (int i = 0; i < len; i++){
  System.out.print(str1[i]) ;
  }
  System.out.println("") ;
  String []str2 = charToUpRevString(arrChar) ;
  System.out.print("反向:") ;
  for (int i = 0; i < len; i++){
  System.out.print(str2[i]) ;
  }
  
  }
} --------------------编程问答-------------------- 正向:贰叁捌伍伍
反向:伍伍捌叁贰 --------------------编程问答-------------------- 3楼正解。 --------------------编程问答--------------------
引用 6 楼 cai5 的回复:
package com.studjava;


public class CommonUtil{

private final static  String upArr[] = {  
    "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"
    } ;
  
  public static String toUp(char ……


不错
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,