无聊写个好玩的——阿拉伯数字变中文数字
来源:互联网 发布:mac能玩qq飞车吗 编辑:程序博客网 时间:2024/05/09 00:01
package demo;
// 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);
// System.out.println(sss);
char[] c = sss.toCharArray();
int i = 0;
String ch;
for (int j = sss.length(); j > 0; j--) {
ch = String.valueOf(c[j-1]);
if(i==4){
if(ch.equals("零")){
sb = sb.insert(j-1, ss[i++]);
}else{
sb = sb.insert(j, ss[i++]);
}
}else if(ch.equals("零")){
i++;
}else{
sb = sb.insert(j, ss[i++]);
}
}
sss = String.valueOf(sb);
sss = test2(sss);
sss = test3(sss);
sss = test4(sss);
System.out.println(sss);
}
if(str.indexOf("零零")>0){
StringBuilder sb = new StringBuilder(str);
sb.replace(str.indexOf("零零"), str.indexOf("零零")+1, "");
str = sb.toString();
return test2(str);
}
return str;
if(str.indexOf("零万")>0){
StringBuilder sb = new StringBuilder(str);
sb.replace(str.indexOf("零万"), str.indexOf("零万")+1, "");
str = sb.toString();
return test2(str);
}
return str;
}
//当出现"零万"的时候变成“万”
private static String test4(String str){
String str2 = str.substring(str.length()-1);
if(str2.equals("零")){
return str.substring(0,str.length()-1);
}
return str;
}
public static void main(String[] args) {
test(100100);
// test(999999999);
// test(111000);
}
public class Test {
//主方法
// 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);
// System.out.println(sss);
char[] c = sss.toCharArray();
int i = 0;
String ch;
for (int j = sss.length(); j > 0; j--) {
ch = String.valueOf(c[j-1]);
if(i==4){
if(ch.equals("零")){
sb = sb.insert(j-1, ss[i++]);
}else{
sb = sb.insert(j, ss[i++]);
}
}else if(ch.equals("零")){
i++;
}else{
sb = sb.insert(j, ss[i++]);
}
}
sss = String.valueOf(sb);
sss = test2(sss);
sss = test3(sss);
sss = test4(sss);
System.out.println(sss);
}
//处理多个0的方法
if(str.indexOf("零零")>0){
StringBuilder sb = new StringBuilder(str);
sb.replace(str.indexOf("零零"), str.indexOf("零零")+1, "");
str = sb.toString();
return test2(str);
}
return str;
}
//当出现"零万"的时候变成“万”
if(str.indexOf("零万")>0){
StringBuilder sb = new StringBuilder(str);
sb.replace(str.indexOf("零万"), str.indexOf("零万")+1, "");
str = sb.toString();
return test2(str);
}
return str;
}
//当出现"零万"的时候变成“万”
private static String test4(String str){
String str2 = str.substring(str.length()-1);
if(str2.equals("零")){
return str.substring(0,str.length()-1);
}
return str;
}
public static void main(String[] args) {
test(100100);
// test(999999999);
// test(111000);
}
}
最后只留了一个可以预见到的BUG 比如说十万 但是结果是一十万
十一 的结果是一十一
这个一十不可以类似于零万更改成万 因为我们的习惯是如果他是开头或者开头是0的时候才只读十 前面的数需要再判断一下才行
0 0
- 无聊写个好玩的——阿拉伯数字变中文数字
- php写的一个阿拉伯数字转中文数字的函数
- 算法——阿拉伯数字转化为中文数字
- 中文数字转阿拉伯数字的小程序
- 一个中文数字转换阿拉伯数字的脚本
- 中文数字与阿拉伯数字间的转换
- 把中文表示的数字转成阿拉伯数字
- 阿拉伯数字与中文数字的相互转换
- 阿拉伯数字转为中文数字
- 阿拉伯数字转中文数字
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换
- ASP阿拉伯数字转中文数字
- 将中文数字转为阿拉伯数字
- 【oracle】中文数字转阿拉伯数字
- 阿拉伯数字转换为中文数字
- 阿拉伯数字转换为中文数字
- delphi中文数字转阿拉伯数字
- 四则运算的逆波兰式算法
- Socket通信详细解析(附例子)
- oc 类别 与 类扩展
- Redis3.0.5封装
- 如何使用PS制作橙色高光壁纸
- 无聊写个好玩的——阿拉伯数字变中文数字
- Android Sqlite SQLiteOpenHelper建立数据库
- leetcode 18. 4Sum
- ThinkPHP+PHPExcel[导出]实现方法
- SQL常用命令
- [iOS]UIViewController生命周期简单归纳
- iOS开发之构建Widget
- 在StringMVC中,在控制层获取Resource下面属性文件的信息值
- python图像操作