`

JAVA 将数字字符串转换成中文形式

阅读更多
public class MainClass3 {

    /**
    * @param args
    * @deprecated 完成小数的中文转换
    * @deprecated 核心工式:unit[(len - i - 1) % 8]
    * @deprecated
    * 1-0-1=0%8 亿
    * 2-0-1=1%8 拾
    * 3-0-1=2%8 佰
    * 4-0-1=3%8 仟
    * 5-0-1=4%8 万
    * 6-0-1=5%8 拾
    * 7-0-1=6%8 佰
    * 8-0-1=7%8 仟
    * 9-0-1=9%8 亿
    */
    public static void main(String[] args) {

    String temp0 = "987.65";// "009081";
    String temp = temp0;

    if (temp0.startsWith("0")) {
       temp = String.valueOf(Integer.parseInt(temp0));
       // System.out.println(Integer.parseInt(temp));
    }
    // int itemp = Integer.valueOf(temp);
    // System.out.println("String --> Integer"+itemp);
    StringBuffer retStrBuf = new StringBuffer();// 用来拼接数字串
    int dot = 0; // 小数点位置
    int ivalue = 0;// 保存每一个位上的数
    int len = 0;// 保存数字的长度
    for (int i = 0; i < temp.length(); i++) {
       System.out.print(temp.substring(i, i + 1) + " ");
    }
    System.out.println();
    String num[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
    String unit[] = { "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟" };

    len = temp.length();
    if (temp == null || "".equals(temp) || temp.length() <= 0) {
       System.out.println("Input is null");
    } else {
     //(==-1)说明
     dot = temp.indexOf(".");
          if(dot == -1){          
         int i = 0;
       // len-1这个注意,i在前面初始化为0
       for (i = 0; i < len - 1; i++) {
        ivalue = Integer.parseInt(temp.substring(i, i + 1));
        retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8]));
        // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8]));
       }
       // 单独取最后一位数
       ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1)));
       // 最后一位为零,将不作处理
       if (ivalue != 0) {
        retStrBuf.append(num[ivalue]);
       }
       retStrBuf.append("元整");
       System.out.println(retStrBuf.toString());
       // System.out.println(","+num[ivalue]);
          }else{
              String tmpStr1 = temp.substring(0, dot);
              len = tmpStr1.length();
              int i = 0;
         // len-1这个注意,i在前面初始化为0
         for (i = 0; i < len - 1; i++) {
          ivalue = Integer.parseInt(temp.substring(i, i + 1));
          retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8]));
          // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8]));
         }
         // 单独取最后一位数
         ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1)));
         // 最后一位为零,将不作处理
         if (ivalue != 0) {
          retStrBuf.append(num[ivalue]);
         }
       
         //跟整数处理不一样的部分
            if (dot < temp.length() - 1)  {
                retStrBuf.append("点");
                //从小数点后一位开始取
                String tmpStr2 = temp.substring(dot + 1);
                len = tmpStr2.length();
                //这里不需要len-1
                for (i = 0; i < len; i++)  {
                    ivalue = Integer.parseInt(tmpStr2.substring(i, i + 1));
                    retStrBuf.append(num[ivalue]);
                }
            }
          
         retStrBuf.append("元整");
       
            System.out.println(retStrBuf.toString());
          }
    }

    }
}
分享到:
评论

相关推荐

    ipv4和ipv6字符串转换成数字

    ipv4或ipv6字符串形式的地址转换为BigInteger数字。

    从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。

    从键盘接受一个数字,列出... 2、然后将传入的数字转换成字符串,并且求出字符串的长度, 3、根据求出的的字符串长度,调用pow方法,计算出传入数字的最高位位权值 4、通过循环对传入数字取余操作,打印输出

    matlab十六进制转十进制代码-char2hex-hex2char:将十进制整数字符串转换为十六进制表示形式并在Matlab中返回

    将十进制整数字符串转换为十六进制表示形式,然后再返回到Matlab中。 版本1.2,2016年4月21日 下载资料库: 返回一个二维字符串数组,其中每行是S行中每个十进制整数字符串的十六进制表示形式。 S必须是仅包含十进制...

    JAVA实现数字大写金额转换的方法

    主要介绍了JAVA实现数字大写金额转换的方法,涉及java针对字符串与数组的遍历与转换相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Java实现将数字日期翻译成英文单词的工具类实例

    主要介绍了Java实现将数字日期翻译成英文单词的工具类,结合完整实例形式分析了Java日期转换与字符串操作相关实现技巧,需要的朋友可以参考下

    java源码包---java 源码 大量 实例

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    驼峰转下划线、下划线转驼峰的java工具类

    优点: 简单易用:这两个方法都是静态... underscoreToCamel方法则是接收一个下划线命名的字符串,将其转换为驼峰命名形式的字符串。 String result = CaseConverter.camelToUnderscore("myCamelCaseString"); St

    将值的向量/数组/矩阵转换为逗号分隔的字符串:将未知大小/类型的输入转换为适合日志文件和适用的紧凑单行字符串-matlab开发

    Vec2str 将未知大小/类型的输入转换为紧凑的单行逗号分隔字符串,适用于日志文件和可用单元格。 接受数字,逻辑,单元格,Java / COM句柄等的任何维度和组合。 句法: [str, errMsg] = vec2str(vec, format, ...

    JAVA基础编程练习题.docx

    编写一个程序,输入一个整数n,计算1到n的...编写一个程序,输入一个字符串,将其中的数字替换为指定字符,并输出结果。 编写一个程序,输入一个字符串,判断该字符串中是否存在连续的五个字母是按照字母表顺序排列的。

    2Java SE(上).doc

    1. 文档注释可以在:类,... String toLowerCase():将一个字符串中的英文部分转换为全大写或全小写(验证码使用) 8)valueOf():String 提供了一组静态方法 该方法有若干的重载,用来将其他类型数据转换为字符串。

    JAVA上百实例源码以及开源项目源代码

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包4

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    JAVA上百实例源码以及开源项目

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包3

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包2

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java 算法

    多线程的世界时钟,显示巴黎,罗马,上海时间, AWT界面,Java日期格式化及其使用例子,几个常用方法,判断字符是否属于中文,异常处理类,去掉字符串中重复的子字符串,将指定byte数组以16进制的形式打印到控制台,...

    java jdk实列宝典 光盘源代码

    判断一个字符串是否是合法的java标识符;使用StringBuffer;IP地址转化成整数,整数转化成IP地址; 十八为身份证格式验证;表达式解析器;字符串编码的转换;字符串对齐器;密码加密和验证(MD5); 制作命令行程序...

    计算机程序设计(Java)-教案--单元二--Java语言开发基础.docx.docx

    数据类型、运算符、字符串、数组等知识在编程过程中能熟练、准确应用; ・:・能熟练、准确地应用分支、循环、跳转三种流程执行过程; 教学重点 :・标识符命名规那么、数据类型与运算符; : 嵌套ifelse语句的用法...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...

    java开源包11

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

Global site tag (gtag.js) - Google Analytics