阿拉伯数字转换老写中文

首先明确银行的输入的数字是字符串还是数值类型,因为要转换为中文,你需要事先定义位数读法,比如两位数是十,三位数是千,四位数是万,然后最终有一个基准,比如最大后面都是以亿计,然后计数以亿为标准,比如9位;以及你要定义数字读法,比如1为一,2为二等待。如果是数值类型,则采用除10方法,即不断除10,比如6666,则统计次数,6666%10=6,count+=1,为六,接下来(6666/10)%10=6,count+=1,此时count为2,你定义位数为2为十,则是六十。以此类推。字符串类型的和数值相似,此时你可以不用除10而以字符串的位数为数值位数。

//银行 数字转换老写中文案例
public class Bank {
public static void main(String[] args) {
    String num="66666";
    String chinaStr="";
    String[] str = {"","十","百","千","万","十","百","千","亿",
        "十","百","千","万","兆"};
    String[] subStr = Arrays.copyOf(str, num.length());
    String[] chinaNumber = new String[num.length()];
      for(int i =0;i<num.length();i++){
      int numi=(Integer.parseInt(num.charAt(i)+""));
     switch(numi){
      case 1:chinaNumber[i]="壹";
        break;
      case 2:chinaNumber[i]="贰";
        break;
      case 3:chinaNumber[i]="叁";
        break;
      case 4:chinaNumber[i]="肆";
        break;
      case 5:chinaNumber[i]="伍";
        break;
      case 6:chinaNumber[i]="陆";
        break;
      case 7:chinaNumber[i]="柒";
        break;
      case 8:chinaNumber[i]="捌";
        break;
      case 9:chinaNumber[i]="玖";
        break;
      case 0:chinaNumber[i]="零";
        break;
      }
    }
    for(int i=0;i<num.length();i++){
      //chinaStr+=num.charAt(i);
    chinaStr+=chinaNumber[i];
    System.out.println(chinaStr);
    for(int j=subStr.length-1;j>0;j--){
         if((j+i)==num.length()-1){
        chinaStr+=subStr[j];
      System.out.println(chinaStr);
        }
      }
    }
  }}

本文还需改进.哪位大神有建议可以指导指导菜鸡~

时间: 2024-11-01 14:25:42

阿拉伯数字转换老写中文的相关文章

阿拉伯数字转换成中文大写

package Demo;public class Money{ public static void main(String args[]) { Money mon = new Money(); System.out.println(mon.change("124")); } //把"1"转化成1时用下标找TOBIG[1]就是对应的 private static final String[] TOBIG = new String[] { "零"

oracle改进之将阿拉伯数字转换成中文数字

本博客是自己在学习和工作途中的积累与总结. 将阿拉伯数字转换成中文汉字,方法自定义函数 create or replace function formate(val in number) return varchar2 is res varchar2(6); begin if val=1 then res:='一'; elsif val=2 then res:='二'; elsif val=3 then res:='三'; elsif val=4 then res:='四'; elsif val

Java金额转换_阿拉伯数字转换成中国传统形式

这个题目我在网上看到有好多种做法,我自己也想出了一种做法:不过因为时间不够,只能转换整数,没把角分弄进去. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* * 思路: * 1.定义两张表,存储中文数字和货币单位. * 2.键盘录入使用IO流的BufferedReader进行接收键盘录入. * 3.把录入的阿拉伯数字弄成字符数组,把每个数字所在位置的角标对

VC中使用CFile正确的追加写中文数据到文件不出现乱码-unicode字符集

CFile saveFile; CString file_name = getFileName(); BOOL isOpenOK = saveFile.Open(file_name, CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate, NULL); if (false == isOpenOK) { MessageBox(L"文件打开失败!"); return; } //是文件保存为unicode格式 //为了uni

为什么不写中文软件?

朋友都去了西班牙,或者德国,进了国外软件外包企业,最后又独立开发开发软件,写的都是共享软件,界面是英文的,或者多语言,德语,西班牙语,就是没有中文的.一般发布在国外下载站,download.com.cnet.等下载站.他们常用的聊天软件icq,googl+,aim.他们很少写中文软件,认为写中文软件没有前途,生意不好做.他们与外商打交道多,他们不用支付宝,而是用paypal,vascard银行卡.支付宝很少用.其网站界面内容是西班牙文字,后台界面是英文.令你想不到,这是中国人设计开发的.

JAVA 写中文字符串到指定文件 中文乱码 问题解决

之前试过下面代码里面的注释掉的 方法,都不行,后来想到了不如指定编码格式试试,果真可以了. String as= “中文字符”; //byte[] b = as.getBytes(); try{ File file=new File("F:test.txt"); if(!json.exists()){ file.createNewFile(); } Writer writer = new OutputStreamWriter(new FileOutputStream(file.getA

ios 网络请求总结加强对中文的处理 问题:URL不允许写中文 在GET请求中,相关代码段打断点以验证。

开发还是需要多多练习的 ,下面是一些常用的步骤: 一.简单说明 创建Get 请求 //    1.设置请求路径 NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text]; NSURL *url=[NSURL URLWithString:urlStr]; //

用LyX写中文幻灯片

虽然在虚拟机装了texlive以备使用,但是在不动CTeX的情况下,是否能使用LyX写中文幻灯片呢.网上只是寥寥几篇大神们在Linux用LyX的博文. 最近把论文交完写幻灯片,于是也把这个想法尝试了一下. 首先LyX有自己的英文幻灯片模板,但是如果直接往里面敲入中文是不能直接进行编译的. 于是研究了两个小时,终于取得突破. 首先“文档”->"语言“中修改为汉语,Unicode(CJK)(utf8) 字体里,CJK字体可增加主字体名,如song,kai等 在导言区加入 在“文档”->&

在overleaf上使用LaTeX写中文论文出现错误:The font “XXX” cannot be found

在overleaf上使用LaTeX写中文论文,编译时报错:The font “XXX” cannot be found 首先:确保compiler编译器是选择 “XeLaTeX” 其次:了解到 诸如: {Times New Roman PS Std} .{Mosquito Formal Std} .{Lucida Sans Typewriter Std}.{Lucida Sans Typewriter} 等这些英文字体 和 {Adobe Song Std} .{Adobe Song Std}.{