`

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());
          }
    }

    }
}
分享到:
评论

相关推荐

    中文数字转成阿拉伯数字 java 实现

    在Java编程语言中,将中文数字转换为阿拉伯数字是一个常见的需求,...这个功能的实现涉及到字符串处理、映射表、位值计算等多个编程概念,通过这种方式,我们可以有效地处理中文数字并将其转换为计算机能理解的形式。

    数值运算字符串转换成数字.zip

    但这些函数并不能直接处理算术表达式,只能用于简单的数字字符串转换。 2. **存储过程**:由于标准SQL不提供直接解析和执行算术表达式的功能,你可能需要编写一个存储过程来实现这个功能。存储过程是一组预编译的...

    java字符串类型数字设置千分位分隔

    在给定的场景中,我们需要处理三种类型的数字:整数、带有小数点的数字以及负数,并且需要确保输入是有效的数字字符串。 首先,我们需要了解`DecimalFormat`类。它是`java.text`包下的一个类,主要用于格式化十进制...

    java实现字符转换成十六进制的ASCII码

    在Java编程语言中,将字符转换为十六进制表示的ASCII码是一项常见的任务,尤其是在处理字符串数据时。本文将深入探讨如何实现这个功能,并通过一个具体的示例代码`StringToAscii.java`进行演示。 首先,我们需要...

    ipv4和ipv6字符串转换成数字

    ### 字符串转换为BigInteger #### 方法概述 代码中实现了一个名为`StringToBigInt`的方法,用于将IPv4或IPv6地址从字符串形式转换为`BigInteger`类型。该方法首先移除IPv4/IPv6字符串中的空格,然后根据字符串中...

    java将数字转换为时间格式

    - 使用`parse`方法将`date`字符串转换为`java.util.Date`对象。 - 返回转换后的日期对象。 #### 知识点四:日期格式化模式详解 `SimpleDateFormat`支持各种日期和时间的格式化模式。例如: - `yyyy`:四位数的...

    字符转换工具类

    例如,将数字转换为字符串,或将字符串形式的数字解析为整型或浮点型数值。在HTML生成过程中,有时需要将数字数据转化为特定格式的字符串,以便在网页上显示,或者在处理用户输入时,将表单中的字符串值转换回数值...

    字符串转换为计算公式的若干种方法

    从给定的文件标题“字符串转换为计算公式的若干种方法”及描述“个人收集的几种将字符串表达式转换为计算公式的方法”中,我们可以看出文章主要探讨的是如何将文本形式的数学表达式(字符串)转化为可以进行计算的...

    java String 与各种进制字符之间的转换

    - `Integer.parseInt(String str, int radix)`: 这个方法用于将一个表示特定进制的字符串转换为整数。例如,`Integer.parseInt("1010", 2)`会返回十进制中的10,因为"1010"是二进制的10。 - `Long.parseLong...

    将传进来的十六进制表示的字符串转换成byte数组 文件下载

    本话题主要涉及将十六进制表示的字符串转换成byte数组。在Java、C#、Python等编程语言中,这样的转换都有其特定的方法。十六进制是一种二进制计数系统的表现形式,通常用于表示内存地址、颜色代码或二进制数据。而...

    java 字符串转16进制Ascii

    在Java编程语言中,将字符串转换为16进制ASCII值是一个常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...

    java 中文转数字

    下面是一个简单的Java代码示例,演示了如何将中文数字字符串转换成阿拉伯数字: ```java public class ChineseToNumber { private static final String[] CHINESE_DIGITS = {"零", "一", "二", "三", "四", "五", ...

    java金额转换,阿拉伯数字转换成中国传统形式。

    1. **数据预处理**:首先,将输入的阿拉伯数字字符串反转,因为我们要从低位到高位处理数字,而Java的默认处理是从高位到低位。例如,"101000001010"变为"010100001010"。 2. **创建数字与汉字映射**:创建一个字符...

    java中String类型转换方法.pdf

    将字符串转换为整型可以使用以下方法: * 使用 `Integer.parseInt()` 方法:`String str = "25"; int i = Integer.parseInt(str);` * 使用 `Integer.valueOf()` 方法:`String str = "25"; int i = Integer.valueOf...

    java处理字符和字符串课件

    ### Java处理字符和字符串知识点详解 #### 一、概述 在Java编程中,字符和字符串是最常见的数据类型之一。为了方便高效地处理这些数据类型,Java提供了强大的支持,包括`Character`类和`String`类等。这些类位于`...

    字符串转换工具

    在许多应用场景下,我们可能需要将字符串转换成不同的格式,比如国标码(GB码)或其他编码形式,以满足特定的需求。国标码,全称为“汉字国标交换码”,是中国国家标准局为汉字设计的一种编码标准,主要用于计算机...

    数字转换成大写,例如:123 转换后:一百二十三

    然后,我们将数字字符串拆分成单个字符,并对应到汉字数字对照表中。这可以通过遍历字符串并根据字符的ASCII值找到对应汉字来实现。对于负数,需要额外处理负号,转换为汉字的"负"。同时,考虑到中国传统的计数单位...

    16进制Ascll与字符串相互转换

    这个程序可能包含方法,如`hexToCharSequence()`用于将16进制字符串转换为字符序列,以及`charSequenceToHex()`将字符序列转换为16进制字符串。 总之,16进制ASCII与字符串的相互转换是编程中基础但关键的操作,它...

    数字类型的转换、字符串类型1

    - `float()`:将布尔、整数或字符串转换为浮点数。例如,`float(5)`会得到`5.0`,`float(False)`会得到`0.0`。 - `bool()`:将任何非零值转换为`True`,零值(如0,空字符串,空列表等)转换为`False`。 字符串类型...

    数字转换为大写(JAVA)

    - `changeA(String str)`方法用于处理整数部分,根据输入的整数字符串转换成大写中文。 - `changeB(String str)`方法用于处理小数部分,将小数部分转换成大写中文。 - 主方法`main()`中调用了这两个辅助方法,...

Global site tag (gtag.js) - Google Analytics