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编程语言中,将中文数字转换为阿拉伯数字是一个常见的需求,...这个功能的实现涉及到字符串处理、映射表、位值计算等多个编程概念,通过这种方式,我们可以有效地处理中文数字并将其转换为计算机能理解的形式。
但这些函数并不能直接处理算术表达式,只能用于简单的数字字符串转换。 2. **存储过程**:由于标准SQL不提供直接解析和执行算术表达式的功能,你可能需要编写一个存储过程来实现这个功能。存储过程是一组预编译的...
在给定的场景中,我们需要处理三种类型的数字:整数、带有小数点的数字以及负数,并且需要确保输入是有效的数字字符串。 首先,我们需要了解`DecimalFormat`类。它是`java.text`包下的一个类,主要用于格式化十进制...
在Java编程语言中,将字符转换为十六进制表示的ASCII码是一项常见的任务,尤其是在处理字符串数据时。本文将深入探讨如何实现这个功能,并通过一个具体的示例代码`StringToAscii.java`进行演示。 首先,我们需要...
### 字符串转换为BigInteger #### 方法概述 代码中实现了一个名为`StringToBigInt`的方法,用于将IPv4或IPv6地址从字符串形式转换为`BigInteger`类型。该方法首先移除IPv4/IPv6字符串中的空格,然后根据字符串中...
- 使用`parse`方法将`date`字符串转换为`java.util.Date`对象。 - 返回转换后的日期对象。 #### 知识点四:日期格式化模式详解 `SimpleDateFormat`支持各种日期和时间的格式化模式。例如: - `yyyy`:四位数的...
例如,将数字转换为字符串,或将字符串形式的数字解析为整型或浮点型数值。在HTML生成过程中,有时需要将数字数据转化为特定格式的字符串,以便在网页上显示,或者在处理用户输入时,将表单中的字符串值转换回数值...
从给定的文件标题“字符串转换为计算公式的若干种方法”及描述“个人收集的几种将字符串表达式转换为计算公式的方法”中,我们可以看出文章主要探讨的是如何将文本形式的数学表达式(字符串)转化为可以进行计算的...
- `Integer.parseInt(String str, int radix)`: 这个方法用于将一个表示特定进制的字符串转换为整数。例如,`Integer.parseInt("1010", 2)`会返回十进制中的10,因为"1010"是二进制的10。 - `Long.parseLong...
本话题主要涉及将十六进制表示的字符串转换成byte数组。在Java、C#、Python等编程语言中,这样的转换都有其特定的方法。十六进制是一种二进制计数系统的表现形式,通常用于表示内存地址、颜色代码或二进制数据。而...
在Java编程语言中,将字符串转换为16进制ASCII值是一个常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...
下面是一个简单的Java代码示例,演示了如何将中文数字字符串转换成阿拉伯数字: ```java public class ChineseToNumber { private static final String[] CHINESE_DIGITS = {"零", "一", "二", "三", "四", "五", ...
1. **数据预处理**:首先,将输入的阿拉伯数字字符串反转,因为我们要从低位到高位处理数字,而Java的默认处理是从高位到低位。例如,"101000001010"变为"010100001010"。 2. **创建数字与汉字映射**:创建一个字符...
将字符串转换为整型可以使用以下方法: * 使用 `Integer.parseInt()` 方法:`String str = "25"; int i = Integer.parseInt(str);` * 使用 `Integer.valueOf()` 方法:`String str = "25"; int i = Integer.valueOf...
### Java处理字符和字符串知识点详解 #### 一、概述 在Java编程中,字符和字符串是最常见的数据类型之一。为了方便高效地处理这些数据类型,Java提供了强大的支持,包括`Character`类和`String`类等。这些类位于`...
在许多应用场景下,我们可能需要将字符串转换成不同的格式,比如国标码(GB码)或其他编码形式,以满足特定的需求。国标码,全称为“汉字国标交换码”,是中国国家标准局为汉字设计的一种编码标准,主要用于计算机...
然后,我们将数字字符串拆分成单个字符,并对应到汉字数字对照表中。这可以通过遍历字符串并根据字符的ASCII值找到对应汉字来实现。对于负数,需要额外处理负号,转换为汉字的"负"。同时,考虑到中国传统的计数单位...
这个程序可能包含方法,如`hexToCharSequence()`用于将16进制字符串转换为字符序列,以及`charSequenceToHex()`将字符序列转换为16进制字符串。 总之,16进制ASCII与字符串的相互转换是编程中基础但关键的操作,它...
- `float()`:将布尔、整数或字符串转换为浮点数。例如,`float(5)`会得到`5.0`,`float(False)`会得到`0.0`。 - `bool()`:将任何非零值转换为`True`,零值(如0,空字符串,空列表等)转换为`False`。 字符串类型...
- `changeA(String str)`方法用于处理整数部分,根据输入的整数字符串转换成大写中文。 - `changeB(String str)`方法用于处理小数部分,将小数部分转换成大写中文。 - 主方法`main()`中调用了这两个辅助方法,...