用java把阿拉伯数字转换成中文数字,怎么做

如题所述

有个简单的转换,支持10亿以内

public class Test {
    public static void test(int d) {
//        String[] str = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
        String[] str = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
//        String ss[] = new String[] { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" };
        String ss[] = new String[] { "个", "十", "百", "千", "万", "十", "百", "千", "亿" };
        String s = String.valueOf(d);
        System.out.println(s);
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
            String index = String.valueOf(s.charAt(i));
            sb = sb.append(str[Integer.parseInt(index)]);
        }
        String sss = String.valueOf(sb);
        int i = 0;
        for (int j = sss.length(); j > 0; j--) {
            sb = sb.insert(j, ss[i++]);
        }
        System.out.println(sb);
    }

    public static void main(String[] args) {
        test(3213);
        test(912321321);
    }
}


结果

不想要“个”的话就把 ss[] 数组中的“个”改成空

不过毕竟是机械的转换,有零的话不太符合语言习惯

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-02
设两个数组,第一个数组放数字,第二个放中文,
传入一个数字,到数字数组中取出下标,拿着这个下标去中文数组中去出对应的值,就是
中文字,这不就转换了。
HashMap,也可以。key=0,value=零,
map.get(key,value)
第2个回答  2015-09-18
什么叫中文数字,是不是变成字符串??
String s2=Integer.toString(v);
第3个回答  2015-01-02
正则表达式替换即可

Java 关于中文大写金额与阿拉伯数字 互相转换的问题(eclipse版)_百度知 ...
eclipse中用java实现中文和阿拉伯数字互转的方法如下:import java.io.*;import java.lang.IllegalArgumentException;public class ConvertNum{ \/** * 把金额阿拉伯数字转换为汉字表示,小数点后四舍五入保留两位 * 还有一种方法可以在转换的过程中不考虑连续0的情况,然后对最终的结果进行一次遍历合并连续的零 *\/ publ...

java实现金额转换,阿拉伯数字的金额转换成中国传统的形式
import java.math.BigDecimal;\/ 金额工具类 author zn Date 2013-2-1 Email zn.share@gmail.com \/ public class MoneyUtil { private static final int DFT_SCALE = 2;\/** 大写数字 *\/ private static final String[] NUMBERS = { "零", "壹", "贰", "叁", "肆", "伍","陆", "...

提供一个JAVA程序,就是输入阿拉伯数字运行让他变成大写的汉字,比如:1...
import java.io.*;public class Test1 { \/ param args \/ public static void main(String[] args) { \/\/数据字典!char c[]={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};\/\/等待输入!System.out.print("请输入一个阿拉伯数字: ");BufferedReader br=new BufferedReade...

数字转中文的完整代码
result+=b[i]; } \/\/数字--单数转换 \/\/这里有个问题.就比如 18 转换后成了一八 而不是十八 \/\/如果这里还需要转换的话. 那还需要重新定义个函数. alert(result); } function gochange(s){ \/\/ } function getchinese(p){ var input=p; if(input=="0") return ...

java 输入阿拉伯数字 输出对应的符合一般读习惯的汉子。。 例如:输...
import java.util.Random;public class Test { static public void main(String 参数[]) { long test_nums[] = { 43521, 101230, 550, 90000, 101, 100001,1000000000001L, 1020304050607080901L };for (long n : test_nums)System.out.println(n + " => " + numberChinese(n, true));Ran...

用java把阿拉伯数字转换成中文数字,怎么做
i++]); } System.out.println(sb); } public static void main(String[] args) { test(3213); test(912321321); }}结果 不想要“个”的话就把 ss[] 数组中的“个”改成空 不过毕竟是机械的转换,有零的话不太符合语言习惯 ...

如何用java编一个程序将输入的阿拉伯数字转换成大写的汉字??
import java.util.HashMap;import java.util.Scanner;public class Convert { public static void main(String[] args) { HashMap<Integer, String> hashMap = new HashMap<Integer, String>();hashMap.put(0, "零");hashMap.put(1, "壹");hashMap.put(2, "贰");hashMap.put(3, "叁"...

使用Java程序如何让阿拉伯数字转换成中文?
import java.util.Scanner;public class Num { public Num() {} static String []bigNum={"零","一","二","三","四","五","六","七","八","九"};static String getNUM(String str){ int t=Integer.parseInt(str);return bigNum[t];} public static void main(String[] args){ ...

JAVA编写 将阿拉伯数字转换成中文大写(要eclipse的完整版本)
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class RMB{ public static void main(String[] args) throws IOException { int money=12345,i=0;System.out.println("初始化的字符串为:"+money);System.out.println("翔鹰提供---有事联系yan...

JAVA如何把键盘输入的金额换转成中文显示。在线求解释~~~
\/** * 将10亿以内的阿拉伯数字转成汉字大写形式 * @author Hp * *\/public class TestNum { \/\/ 整数部分 private String integerPart; \/\/ 小数部分 private String floatPart; \/\/ 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态 private static final char[] cnNumbers={...

相似回答